Changed STRINGLIB_CMP from an inline function to a macro in order to avoid a 'defined but not used' warning.

This commit is contained in:
Eric Smith 2007-08-28 09:45:15 +00:00
parent 3d5cb22514
commit 79710cdea1
1 changed files with 11 additions and 0 deletions

View File

@ -21,6 +21,8 @@
#define STRINGLIB_CHECK PyUnicode_Check #define STRINGLIB_CHECK PyUnicode_Check
#define STRINGLIB_TOSTR PyObject_Unicode #define STRINGLIB_TOSTR PyObject_Unicode
/* STRINGLIB_CMP was defined as:
Py_LOCAL_INLINE(int) Py_LOCAL_INLINE(int)
STRINGLIB_CMP(const Py_UNICODE* str, const Py_UNICODE* other, Py_ssize_t len) STRINGLIB_CMP(const Py_UNICODE* str, const Py_UNICODE* other, Py_ssize_t len)
{ {
@ -29,4 +31,13 @@ STRINGLIB_CMP(const Py_UNICODE* str, const Py_UNICODE* other, Py_ssize_t len)
return memcmp((void*) str, (void*) other, len * sizeof(Py_UNICODE)); return memcmp((void*) str, (void*) other, len * sizeof(Py_UNICODE));
} }
but unfortunately that gives a error if the function isn't used in a file that
includes this file. So, reluctantly convert it to a macro instead. */
#define STRINGLIB_CMP(str, other, len) \
(((str)[0] != (other)[0]) ? \
1 : \
memcmp((void*) (str), (void*) (other), (len) * sizeof(Py_UNICODE)))
#endif /* !STRINGLIB_UNICODEDEFS_H */ #endif /* !STRINGLIB_UNICODEDEFS_H */