[Python-Dev] PyString_GET_SIZE()

Greg Stein gstein@lyra.org
Wed, 28 Jun 2000 17:29:20 -0700


On Wed, Jun 28, 2000 at 08:11:36PM -0500, Guido van Rossum wrote:
> > > ! 	if (strlen(PyString_AS_STRING(v)) != (size_t)PyString_GET_SIZE(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...
> > 
> > Guido: any problem with my changing the macro?
> 
> Please leave the macro alone.  The type of the macro should be the
> same as the type of the function -- PyString_Size() -- which is int.
> If you change this, you potentially get tons of warnings because of
> the signed / unsigned nature.
> 
> ANSI-fication is a good project for after 1.6.  But even then, it's a
> separate decision whether the size of a string should be a size_t
> instead of an int.  (The ob_size field should also change, if so --
> with even more consequences.)

Post 1.6, yes... I had figured on ob_size changing. Certainly not now :-)

But I understand the point about different return types. No problem.

[ of course, I would state that PyString_Size should also change and we fix
  those warnings... but I'll be patient :-) ]

How about removing Py_PROTO() usage, and changing function definitions from
K&R arg declaration to ANSI declarations? That kind of work is pretty
simple, straight-forward, and if somebody has free time to plod through the
work... so much the better. I believe that these changes would not introduce
any stability problems, and could be done independently from your busy
schedule.

Hmm. Is there a good place to start listing these todo items? One that we
can truly use for communicating this info? In Apache, we have a file named
STATUS that everybody uses for dropping ideas, patch references, critical
bugs, etc. As that file gets changed, we see it in the -checkins alias, so
everybody is aware of the suggested changes/problems/available patches/etc.
It also holds people's votes on particular changes.

Can we institute something similar? Possibly Misc/STATUS? Should I post
Apache's STATUS file as an example?

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/