[Python-checkins] CVS: python/dist/src/Objects unicodeobject.c,2.27,2.28

M.-A. Lemburg python-dev@python.org
Sun, 18 Jun 2000 15:25:24 -0700


Update of /cvsroot/python/python/dist/src/Objects
In directory slayer.i.sourceforge.net:/tmp/cvs-serv19475/Objects

Modified Files:
	unicodeobject.c 
Log Message:
Marc-Andre Lemburg <mal@lemburg.com>:
Fixed a bug in PyUnicode_Count() which would have caused a
core dump in case of substring coercion failure.

Synchronized .count() with the string method of the same name
to return len(s)+1 for s.count('').

Index: unicodeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/unicodeobject.c,v
retrieving revision 2.27
retrieving revision 2.28
diff -C2 -r2.27 -r2.28
*** unicodeobject.c	2000/06/17 20:31:17	2.27
--- unicodeobject.c	2000/06/18 22:25:22	2.28
***************
*** 2107,2110 ****
--- 2107,2113 ----
      int count = 0;
  
+     if (substring->length == 0)
+ 	return (end - start + 1);
+ 
      end -= substring->length;
  
***************
*** 2131,2135 ****
      substr = PyUnicode_FromObject(substr);
      if (substr == NULL) {
! 	Py_DECREF(substr);
  	return -1;
      }
--- 2134,2138 ----
      substr = PyUnicode_FromObject(substr);
      if (substr == NULL) {
! 	Py_DECREF(str);
  	return -1;
      }
***************
*** 3087,3095 ****
  	return NULL;
      
-     if (substring->length == 0) {
- 	Py_DECREF(substring);
-         return PyInt_FromLong((long) 0);
-     }
- 
      if (start < 0)
          start += self->length;
--- 3090,3093 ----