[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);