This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author skrah
Recipients eric.smith, loewis, r.david.murray, skrah, srid
Date 2010-06-19.11:09:14
SpamBayes Score 0.001375419
Marked as misclassified No
Message-id <1276945756.6.0.541320375603.issue9020@psf.upfronthosting.co.za>
In-reply-to
Content
Py_CHARMASK should return a non-negative integer. As I understand it:

tokenizer.c:tok_get around line 1368:

        while (Py_ISALNUM(c) || c == '_') {
            c = tok_nextc(tok);
        }


1) tok_nextc(tok) returns EOF (correct).

2) c is an int.

3) c == -1 gets passed to Py_ISALNUM(c):

   #define Py_ISALNUM(c)  (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_ALNUM)



So either it should be enforced that only chars are passed to
Py_CHARMASK, or a cast for the EOF case is needed (but it should
be to (unsigned char)).


Sridhar, did I sum this up correctly?
History
Date User Action Args
2010-06-19 11:09:16skrahsetrecipients: + skrah, loewis, eric.smith, r.david.murray, srid
2010-06-19 11:09:16skrahsetmessageid: <1276945756.6.0.541320375603.issue9020@psf.upfronthosting.co.za>
2010-06-19 11:09:15skrahlinkissue9020 messages
2010-06-19 11:09:14skrahcreate