
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/