Python 2.2 chr representation errors with embedded C

Mark Szigety mszigety at cisco.com
Fri Mar 29 09:12:08 EST 2002


Hello,

I have recently made the upgrade to Python 2.2 from 1.5.2.  In the
Python application which I develop, we have several embedded C
functions, one of which is a simple function to convert a hex string to
octal--it simply chars each byte and returns the new buffer.  However, I
have noticed a 0.01% error rate in Python 2.2 which I did not see in
Python 1.5.2 (it was 100% accurate).  That is, 1 out of 10,000 hex
strings will be converted incorrectly in the C function, usually one
byte is returned as \x00 instead of what is should be.  I also have
noticed that in Python 2.2, chr(0xff) returns \xff instead of \377 in
Python 1.5.2.  Could this be the source of the communication breakdown?

I should mention that writing a similar conversion function totally in
Python is 100% accurate in Python 2.2 as well as Python 1.5.2, although
it is an order of magnitude slower.

Any information about the apparent source of this issue would be
appreciated!

Thanks,
Mark






More information about the Python-list mailing list