Re: h2py.py bug?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Gabriel Rossetti

    Re: h2py.py bug?

    Gabriel Genellina wrote:
    En Tue, 10 Jun 2008 09:44:13 -0300, Gabriel Rossetti
    <gabriel.rosset ti@arimaz.comes cribió:
    >
    >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/pyt...er/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?

Working...