h2py.py bug?

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Tue Jun 10 22:05:22 EDT 2008


En Tue, 10 Jun 2008 09:44:13 -0300, Gabriel Rossetti  
<gabriel.rossetti at arimaz.com> 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.

> 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).

-- 
Gabriel Genellina




More information about the Python-list mailing list