[Python-Dev] int vs ssize_t in unicode (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Thu Apr 13 08:37:49 CEST 2006


Neal Norwitz wrote:

In Include/ucnhash.h I notice some integers and wonder if those should be Pyssizet. It looks like they are just names so they should be pretty short.

Right: int size is below 100; the name length of a Unicode character is below 40 (I believe). OTOH, changing them to Py_ssize_t wouldn't hurt, either.

235: assert(length<INTMAX);_ _unicode->length = (int)length;

Right: I just changed it. It may date back to a version of the patch where I only changed the signatures of the functions, but not the object layout.

376, 404: int i;

Right, changed.

1366: (seems like this could be a 64-bit value) int nneeded;

Right; also, the safe downcast can go away.

(i stopped at this point, there are probably more)

I looked through the entire file, and fixed all I could find.

Modules/unicodedata.c (lots of ints, not sure if they are a problem)

Most of them are not, since most functions deal only with Unicode characters, character names, and character numbers (which are below 2**21).

494: isize = PyUnicodeGETSIZE(input);

This is a problem, though; I fixed it.

Regards, Martin



More information about the Python-Dev mailing list