From 79710cdea1975c633c63bb25b25f92ac61a976e2 Mon Sep 17 00:00:00 2001 From: Eric Smith Date: Tue, 28 Aug 2007 09:45:15 +0000 Subject: [PATCH] Changed STRINGLIB_CMP from an inline function to a macro in order to avoid a 'defined but not used' warning. --- Objects/stringlib/unicodedefs.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Objects/stringlib/unicodedefs.h b/Objects/stringlib/unicodedefs.h index 1fac2c3d529..a50a3f283f3 100644 --- a/Objects/stringlib/unicodedefs.h +++ b/Objects/stringlib/unicodedefs.h @@ -21,6 +21,8 @@ #define STRINGLIB_CHECK PyUnicode_Check #define STRINGLIB_TOSTR PyObject_Unicode +/* STRINGLIB_CMP was defined as: + Py_LOCAL_INLINE(int) 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)); } +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 */