[Python-Dev] check for PyUnicode_READY look backwards
Antoine Pitrou
solipsis at pitrou.net
Thu Oct 6 23:40:36 CEST 2011
On Thu, 6 Oct 2011 17:40:20 -0400
Nick Coghlan <ncoghlan at gmail.com> wrote:
> On Thu, Oct 6, 2011 at 4:47 PM, Benjamin Peterson <benjamin at python.org> wrote:
> > Amaury Forgeot d'Arc <amauryfa <at> gmail.com> writes:
> >
> >> I'd prefer it was written :
> >> if (PyUnicode_READY(*filename) < 0)
> >> because "< 0" clearly indicates an error condition.
> >
> > Why not just have it return 0 on error? This would be more consistent with API
> > functions that return "false" values like NULL and would just be
> >
> > if (!PyUnicode_READY(s)) return NULL;
> >
> > in code.
>
> Alas, that isn't the convention in C - courtesy of Unix, the
> convention is that for integer return codes, "0" means success.
C is quite inconsistent, and so is our own C API.
if (PyUnicode_READY(s)) { ...}
definitely looks like the code block will be executed if the unicode
string is ready, though.
Regards
Antoine.
More information about the Python-Dev
mailing list