[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/