[pypy-svn] r55013 - in pypy/branch/hybrid-io/pypy/rpython: lltypesystem ootypesystem
fijal at codespeak.net
fijal at codespeak.net
Tue May 20 17:04:47 CEST 2008
Author: fijal
Date: Tue May 20 17:04:46 2008
New Revision: 55013
Modified:
pypy/branch/hybrid-io/pypy/rpython/lltypesystem/rbuilder.py
pypy/branch/hybrid-io/pypy/rpython/ootypesystem/rbuilder.py
Log:
(arigo, fijal) Be a bit paranoid about size estimates.
Modified: pypy/branch/hybrid-io/pypy/rpython/lltypesystem/rbuilder.py
==============================================================================
--- pypy/branch/hybrid-io/pypy/rpython/lltypesystem/rbuilder.py (original)
+++ pypy/branch/hybrid-io/pypy/rpython/lltypesystem/rbuilder.py Tue May 20 17:04:46 2008
@@ -32,9 +32,13 @@
('buf', lltype.Ptr(UNICODE)),
adtmeths={'grow':staticAdtMethod(unicodebuilder_grow)})
+MAX = 16*1024*1024
+
class BaseStringBuilderRepr(AbstractStringBuilderRepr):
@classmethod
def ll_new(cls, init_size):
+ if init_size < 0 or init_size > MAX:
+ init_size = MAX
ll_builder = lltype.malloc(cls.lowleveltype.TO)
ll_builder.allocated = init_size
ll_builder.used = 0
Modified: pypy/branch/hybrid-io/pypy/rpython/ootypesystem/rbuilder.py
==============================================================================
--- pypy/branch/hybrid-io/pypy/rpython/ootypesystem/rbuilder.py (original)
+++ pypy/branch/hybrid-io/pypy/rpython/ootypesystem/rbuilder.py Tue May 20 17:04:46 2008
@@ -4,9 +4,13 @@
from pypy.rpython.ootypesystem.rstr import string_repr, char_repr,\
unicode_repr, unichar_repr
+MAX = 16*1024*1024
+
class BaseBuilderRepr(AbstractStringBuilderRepr):
@classmethod
def ll_new(cls, init_size):
+ if init_size < 0 or init_size > MAX:
+ init_size = MAX
return ootype.new(cls.lowleveltype)
@staticmethod
More information about the Pypy-commit
mailing list