Avoid conflict declaration in <string.h> (in C++ mode).
authorBruno Haible <bruno@clisp.org>
Wed, 1 Nov 2006 20:42:35 +0000 (20:42 +0000)
committerBruno Haible <bruno@clisp.org>
Wed, 1 Nov 2006 20:42:35 +0000 (20:42 +0000)
ChangeLog
lib/strcase.h
m4/strcase.m4

index 36c5dac..0bdba7f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2006-11-01  Bruno Haible  <bruno@clisp.org>
 
+       * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
+       * lib/strcase.h: Include <string.h>.
+       (strcasecmp): Define to rpl_strcasecmp here.
+
+2006-11-01  Bruno Haible  <bruno@clisp.org>
+
        * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
 
 2006-11-01  Eric Blake  <ebb9@byu.net>
index e420798..fa5a68d 100644 (file)
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison functions.
-   Copyright (C) 1995-1996, 2001, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001, 2003, 2005-2006 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #define _STRCASE_H
 
 #include <stddef.h>
-
+/* Include header files with a possibly conflicting declarations of strcasecmp
+   before we define it as a macro, so that they will be no-ops if included
+   after strcasecmp is defined as a macro.  */
+#include <string.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 
+/* No known system has a strcasecmp() function that works correctly in
+   multibyte locales.  Therefore we use our version always.  */
+#define strcasecmp rpl_strcasecmp
 /* Compare strings S1 and S2, ignoring case, returning less than, equal to or
    greater than zero if S1 is lexicographically less than, equal to or greater
    than S2.
index 6db401b..2e3d9cd 100644 (file)
@@ -1,5 +1,5 @@
-# strcase.m4 serial 3
-dnl Copyright (C) 2002, 2005 Free Software Foundation, Inc.
+# strcase.m4 serial 4
+dnl Copyright (C) 2002, 2005-2006 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,6 @@ AC_DEFUN([gl_FUNC_STRCASECMP],
   dnl No known system has a strcasecmp() function that works correctly in
   dnl multibyte locales. Therefore we use our version always.
   AC_LIBOBJ(strcasecmp)
-  AC_DEFINE(strcasecmp, rpl_strcasecmp, [Define to rpl_strcasecmp always.])
   gl_PREREQ_STRCASECMP
 ])