[Python-checkins] python/dist/src/Modules unicodedata.c,2.28,2.29
loewis at users.sourceforge.net
loewis at users.sourceforge.net
Thu Nov 6 15:47:59 EST 2003
Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1:/tmp/cvs-serv3149/Modules
Modified Files:
unicodedata.c
Log Message:
Overallocate target buffer for normalization more early. Fixes #834676.
Backported to 2.3.
Index: unicodedata.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/unicodedata.c,v
retrieving revision 2.28
retrieving revision 2.29
diff -C2 -d -r2.28 -r2.29
*** unicodedata.c 28 Feb 2003 03:14:37 -0000 2.28
--- unicodedata.c 6 Nov 2003 20:47:57 -0000 2.29
***************
*** 312,321 ****
while(stackptr) {
Py_UNICODE code = stack[--stackptr];
! if (!space) {
! space = PyString_GET_SIZE(result) + 10;
! if (PyUnicode_Resize(&result, space) == -1)
return NULL;
! o = PyUnicode_AS_UNICODE(result) + space - 10;
! space = 10;
}
/* Hangul Decomposition. */
--- 312,323 ----
while(stackptr) {
Py_UNICODE code = stack[--stackptr];
! /* Hangul Decomposition adds three characters in
! a single step, so we need atleast that much room. */
! if (space < 3) {
! int newsize = PyString_GET_SIZE(result) + 10;
! space += 10;
! if (PyUnicode_Resize(&result, newsize) == -1)
return NULL;
! o = PyUnicode_AS_UNICODE(result) + newsize - space;
}
/* Hangul Decomposition. */
More information about the Python-checkins
mailing list