[Python-Dev] static analysis of python source

Georg Brandl g.brandl at gmx.net
Sat Apr 21 09:08:06 CEST 2007


Kristján Valur Jónsson schrieb:
> I just ran some static analysis of the python core 2.5 with Visual 
> Studio team system.
> 
> There was the stray error discovered.  I will update the most obvious ones.
> 
>  
> 
> Some questions, though:
> 
>  
> 
> This code in binascii.c, line 1168 (and again 1238) is wrong:
> while (in < datalen) {
> 
>             if ((data[in] > 126) ||
> 
>                 (data[in] == '=') ||
> 
>                 (header && data[in] == '_') ||
> 
>                 ((data[in] == '.') && (linelen == 1)) ||
> 
>                 (!istext && ((data[in] == '\r') || (data[in] == '\n'))) ||
> 
>                 ((data[in] == '\t' || data[in] == ' ') && (in + 1 == 
> datalen)) ||
> 
>                 ((data[in] < 33) &&
> 
>                  (data[in] != '\r') && (data[in] != '\n') &&
> 
>                  (quotetabs && ((data[in] != '\t') || (data[in] != ' ')))))
> 
>       The final ((data[in] != '\t') || (data[in] != ' ')) is always 
> true.  What is the right form? ((data[in] == '\t') || (data[in] == ' '))  ?

FYI, this has already been fixed in the heads.

Georg

-- 
Thus spake the Lord: Thou shalt indent with four spaces. No more, no less.
Four shall be the number of spaces thou shalt indent, and the number of thy
indenting shall be four. Eight shalt thou not indent, nor either indent thou
two, excepting that thou then proceed to four. Tabs are right out.



More information about the Python-Dev mailing list