Example #1
0
 def stringbuilder_grow(ll_builder, needed):
     allocated = ll_builder.allocated
     if allocated < GROW_FAST_UNTIL:
         new_allocated = allocated << 1
     else:
         extra_size = allocated >> 2
         try:
             new_allocated = ovfcheck(allocated + extra_size)
         except OverflowError:
             raise MemoryError
     try:
         new_allocated = ovfcheck(new_allocated + needed)
     except OverflowError:
         raise MemoryError
     ll_builder.buf = rgc.resize_buffer(ll_builder.buf, ll_builder.used,
                                        new_allocated)
     ll_builder.allocated = new_allocated
Example #2
0
 def f():
     ptr = rgc.resizable_buffer_of_shape(STR, 1)
     ptr.chars[0] = 'a'
     ptr = rgc.resize_buffer(ptr, 1, 2)
     ptr.chars[1] = 'b'
     return len(hlstr(rgc.finish_building_buffer(ptr, 2)))
Example #3
0
 def f():
     ptr = rgc.resizable_buffer_of_shape(STR, 1)
     ptr.chars[0] = 'a'
     ptr = rgc.resize_buffer(ptr, 1, 2)
     ptr.chars[1] = 'b'
     return len(hlstr(rgc.finish_building_buffer(ptr, 2)))