changeset 13920:5667703dedaa

unistr/u8-strcmp: Avoid collision with libc function on Solaris 11. * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name u8_strcmp_gnu. * modules/unistr/u8-strcmp (configure.ac): Bump version number.
author Bruno Haible <bruno@clisp.org>
date Tue, 07 Dec 2010 03:32:46 +0100
parents 09a24a6c8f31
children 5f7a4e03ec7a
files ChangeLog lib/unistr.in.h modules/unistr/u8-strcmp
diffstat 3 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-12-07  Bruno Haible  <bruno@clisp.org>
+
+	unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
+	* lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
+	u8_strcmp_gnu.
+	* modules/unistr/u8-strcmp (configure.ac): Bump version number.
+
 2010-12-06  Bruno Haible  <bruno@clisp.org>
 
 	Update internal documentation.
--- a/lib/unistr.in.h
+++ b/lib/unistr.in.h
@@ -559,8 +559,15 @@
 
 /* Compare S1 and S2.  */
 /* Similar to strcmp(), wcscmp().  */
+#ifdef __sun
+/* Avoid a collision with the u8_strcmp() function in Solaris 11 libc.  */
+extern int
+       u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2);
+# define u8_strcmp u8_strcmp_gnu
+#else
 extern int
        u8_strcmp (const uint8_t *s1, const uint8_t *s2);
+#endif
 extern int
        u16_strcmp (const uint16_t *s1, const uint16_t *s2);
 extern int
--- a/modules/unistr/u8-strcmp
+++ b/modules/unistr/u8-strcmp
@@ -8,7 +8,7 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strcmp])
+gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-strcmp])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNISTR_U8_STRCMP