changeset 27288:77510b05cee6

Avoid conflict declaration in <string.h> (in C++ mode).
author Bruno Haible <bruno@clisp.org>
date Wed, 01 Nov 2006 20:42:35 +0000
parents 9f99dcfbd735
children cd42ce0446b8
files ChangeLog lib/strcase.h m4/strcase.m4
diffstat 3 files changed, 16 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Nov 01 20:30:39 2006 +0000
+++ b/ChangeLog	Wed Nov 01 20:42:35 2006 +0000
@@ -1,3 +1,9 @@
+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.
--- a/lib/strcase.h	Wed Nov 01 20:30:39 2006 +0000
+++ b/lib/strcase.h	Wed Nov 01 20:42:35 2006 +0000
@@ -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
@@ -19,13 +19,19 @@
 #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.
--- a/m4/strcase.m4	Wed Nov 01 20:30:39 2006 +0000
+++ b/m4/strcase.m4	Wed Nov 01 20:42:35 2006 +0000
@@ -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 @@
   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
 ])