Mercurial > cpython-lru_cache-weakref
view Python/pystrcmp.c @ 44488:94eeaeeb3ce9 legacy-trunk
Continue rolling back pep-3141 changes that changed behavior from 2.5. This
round included:
* Revert round to its 2.6 behavior (half away from 0).
* Because round, floor, and ceil always return float again, it's no
longer necessary to have them delegate to __xxx___, so I've ripped
that out of their implementations and the Real ABC. This also helps
in implementing types that work in both 2.6 and 3.0: you return int
from the __xxx__ methods, and let it get enabled by the version
upgrade.
* Make pow(-1, .5) raise a ValueError again.
| author | Jeffrey Yasskin <jyasskin@gmail.com> |
|---|---|
| date | Sat, 05 Jan 2008 08:47:13 +0000 |
| parents | 4dc01402d78a |
| children | 0a485593ae1c |
line wrap: on
line source
/* Cross platform case insenstive string compare functions */ #include "Python.h" int PyOS_mystrnicmp(const char *s1, const char *s2, Py_ssize_t size) { if (size == 0) return 0; while ((--size > 0) && (tolower(*s1) == tolower(*s2))) { if (!*s1++ || !*s2++) break; } return tolower(*s1) - tolower(*s2); } int PyOS_mystricmp(const char *s1, const char *s2) { while (*s1 && (tolower(*s1++) == tolower(*s2++))) { ; } return (tolower(*s1) - tolower(*s2)); }
