Gabriel Genellina wrote:
En Tue, 10 Jun 2008 09:44:13 -0300, Gabriel Rossetti
<[EMAIL PROTECTED]> escribió:
I wanted to use the h2py.py script (Tools/scripts/h2py.py) and it
didn't like char litterals :
Skipping: PC_ERROR = ord()
where my *.h file contained :
#define PC_ERROR '0'
I searched the web and found a post with the same error :
http://mail.python.org/pipermail/python-list/2005-September/340608.html
but it got no replies, I tried the fix and it works. I have the
following questions:
1) Why did it not get any attention, is something wrong with it?
2) If nothing is wrong, did the fix not get applied because a bug
report wasn't filed?
Very probably - bug reports outside the tracker are likely to go
unnoticed or forgotten.
Ok, I'll file one then.
3) Isn't turning a char literal into the ordinal value not contrary
to what a C programmer had in mind when he/she defined it? I mean if
you define a char literal then in python you would have used a string
value :
#define PC_ERROR '0'
would become :
PC_ERROR = '0'
in python, and if you intended to use the char type for an 8 bit
numerical value you would have done :
#define PC_ERROR 0x30
where 0x30 is the '0' ascii hex value, so shouldn'it the line in the
diff (see the post) be :
body = p_char.sub("'\\1'", body)
instead of :
body = p_char.sub("ord('\\1')", body)
It's not so clear what's the intended usage - chars are also integers
in C. (I prefer the current behavior, but certainly it may be wrong in
several places).
Yes, true, but if you intend to use it as an integer, wouldn't you use a
numeric value instead of a character literal?
--
http://mail.python.org/mailman/listinfo/python-list