[Python-checkins] CVS: python/dist/src/Modules cStringIO.c,2.18,2.19
Jeremy Hylton
python-dev@python.org
Wed, 12 Apr 2000 18:04:04 -0400
Update of /projects/cvsroot/python/dist/src/Modules
In directory goon.cnri.reston.va.us:/home/jhylton/python/src/Modules
Modified Files:
cStringIO.c
Log Message:
raise TypeError when bad argument passed to cStringIO.StringIO
Index: cStringIO.c
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Modules/cStringIO.c,v
retrieving revision 2.18
retrieving revision 2.19
diff -C2 -r2.18 -r2.19
*** cStringIO.c 2000/02/29 13:59:22 2.18
--- cStringIO.c 2000/04/12 22:04:01 2.19
***************
*** 579,585 ****
char *buf;
int size;
!
! UNLESS(buf=PyString_AsString(s)) return NULL;
! UNLESS(-1 != (size=PyString_Size(s))) return NULL;
UNLESS(self = PyObject_NEW(Iobject, &Itype)) return NULL;
Py_INCREF(s);
--- 579,590 ----
char *buf;
int size;
!
! if (!PyString_Check(s)) {
! PyErr_Format(PyExc_TypeError, "expected string, %.200s found",
! s->ob_type->tp_name);
! return NULL;
! }
! buf = PyString_AS_STRING(s);
! size = PyString_GET_SIZE(s);
UNLESS(self = PyObject_NEW(Iobject, &Itype)) return NULL;
Py_INCREF(s);
***************
*** 604,608 ****
PyObject *s=0;
! UNLESS(PyArg_ParseTuple(args, "|O:StringIO", &s)) return NULL;
if(s) return newIobject(s);
return newOobject(128);
--- 609,614 ----
PyObject *s=0;
! if (!PyArg_ParseTuple(args, "|O:StringIO", &s))
! return NULL;
if(s) return newIobject(s);
return newOobject(128);