Mercurial > cpython-lru_cache-weakref
view Python/pystrcmp.c @ 84704:48a869a39e2d
Issue #18408: PyEval_EvalFrameEx() and PyEval_CallObjectWithKeywords() now fail
with an assertion error if they are called with an exception set
(PyErr_Occurred()).
If these functions are called with an exception set, the exception may be
cleared and so the caller looses its exception.
Add also assertions to PyEval_CallObjectWithKeywords() and call_function() to
check if the function succeed with no exception set, or the function failed
with an exception set.
| author | Victor Stinner <victor.stinner@gmail.com> |
|---|---|
| date | Thu, 18 Jul 2013 01:41:08 +0200 |
| parents | fd25030223b0 |
| children |
line wrap: on
line source
/* Cross platform case insensitive 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((unsigned)*s1) == tolower((unsigned)*s2))) { if (!*s1++ || !*s2++) break; } return tolower((unsigned)*s1) - tolower((unsigned)*s2); } int PyOS_mystricmp(const char *s1, const char *s2) { while (*s1 && (tolower((unsigned)*s1++) == tolower((unsigned)*s2++))) { ; } return (tolower((unsigned)*s1) - tolower((unsigned)*s2)); }
