[Python-Dev] PyString_GET_SIZE() (was: CVS: python/dist/src/Objects classobject.c,2.89,2.90 object.c,2.72,2.73)

Trent Mick trentm@activestate.com
Wed, 28 Jun 2000 16:49:55 -0700


On Wed, Jun 28, 2000 at 03:17:58PM -0700, Greg Stein wrote:
> On Wed, Jun 28, 2000 at 02:57:20PM -0700, Guido van Rossum wrote:
> > Update of /cvsroot/python/python/dist/src/Objects
> > In directory slayer.i.sourceforge.net:/tmp/cvs-serv5838
> > 
> > Modified Files:
> > 	classobject.c object.c 
> > Log Message:
> > Trent Mick: change a few casts for Win64 compatibility.
> > 
> > 
> > Index: classobject.c
> > ===================================================================
> > RCS file: /cvsroot/python/python/dist/src/Objects/classobject.c,v
> > retrieving revision 2.89
> > retrieving revision 2.90
> > diff -C2 -r2.89 -r2.90
> > *** classobject.c	2000/06/23 19:37:01	2.89
> > --- classobject.c	2000/06/28 21:57:18	2.90
> > ***************
> > *** 284,288 ****
> >   	if (v == NULL || !PyString_Check(v))
> >   		return "__name__ must be a string object";
> > ! 	if ((long)strlen(PyString_AS_STRING(v)) != PyString_GET_SIZE(v))
> >   		return "__name__ must not contain null bytes";
> >   	set_slot(&c->cl_name, v);
> > --- 284,288 ----
> >   	if (v == NULL || !PyString_Check(v))
> >   		return "__name__ must be a string object";
> > ! 	if (strlen(PyString_AS_STRING(v)) != (size_t)PyString_GET_SIZE(v))
> >   		return "__name__ must not contain null bytes";
> >   	set_slot(&c->cl_name, v);
> 
> Actually, it would seem to make more sense to place the cast *inside* the
> PyString_GET_SIZE() macro. That is the "true" semantic for GET_SIZE.
> 
> May as well start some ANSI-fication while we can...
> 

I agree. Go to town, Greg. :)

Trent

-- 
Trent Mick
trentm@activestate.com