changeset 12081:e0b4f68f21c2

Avoid identifier clash with POSIX function 'remove' defined as a macro.
author Bruno Haible <bruno@clisp.org>
date Mon, 28 Sep 2009 23:25:49 +0200
parents 6b1f45c2820d
children d741ba7b3804
files ChangeLog lib/gl_list.c lib/gl_list.h lib/gl_oset.c lib/gl_oset.h
diffstat 5 files changed, 25 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2009-09-28  Bruno Haible  <bruno@clisp.org>
+
+	Avoid identifier clash with POSIX function 'remove' defined as a macro.
+	* lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
+	to 'remove_elt'.
+	(gl_list_remove): Update.
+	* lib/gl_list.c (gl_list_remove): Update.
+	* lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
+	to 'remove_elt'.
+	(gl_oset_remove): Update.
+	* lib/gl_list.c (gl_oset_remove): Update.
+	Reported by Eric Blake.
+
 2009-09-28  Eric Blake  <ebb9@byu.net>
 
 	doc: mention yet more cygwin 1.7 status
--- a/lib/gl_list.c
+++ b/lib/gl_list.c
@@ -1,5 +1,5 @@
 /* Abstract sequential list data type.
-   Copyright (C) 2006-2008 Free Software Foundation, Inc.
+   Copyright (C) 2006-2009 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2006.
 
    This program is free software: you can redistribute it and/or modify
@@ -197,7 +197,7 @@
 gl_list_remove (gl_list_t list, const void *elt)
 {
   return ((const struct gl_list_impl_base *) list)->vtable
-	 ->remove (list, elt);
+	 ->remove_elt (list, elt);
 }
 
 void
--- a/lib/gl_list.h
+++ b/lib/gl_list.h
@@ -1,5 +1,5 @@
 /* Abstract sequential list data type.
-   Copyright (C) 2006-2008 Free Software Foundation, Inc.
+   Copyright (C) 2006-2009 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2006.
 
    This program is free software: you can redistribute it and/or modify
@@ -405,7 +405,7 @@
 			    const void *elt);
   bool (*remove_node) (gl_list_t list, gl_list_node_t node);
   bool (*remove_at) (gl_list_t list, size_t position);
-  bool (*remove) (gl_list_t list, const void *elt);
+  bool (*remove_elt) (gl_list_t list, const void *elt);
   void (*list_free) (gl_list_t list);
   /* gl_list_iterator_t functions.  */
   gl_list_iterator_t (*iterator) (gl_list_t list);
@@ -650,7 +650,7 @@
 gl_list_remove (gl_list_t list, const void *elt)
 {
   return ((const struct gl_list_impl_base *) list)->vtable
-	 ->remove (list, elt);
+	 ->remove_elt (list, elt);
 }
 
 # define gl_list_free gl_list_free_inline
--- a/lib/gl_oset.c
+++ b/lib/gl_oset.c
@@ -1,5 +1,5 @@
 /* Abstract ordered set data type.
-   Copyright (C) 2006-2007 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2009 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2006.
 
    This program is free software: you can redistribute it and/or modify
@@ -64,7 +64,8 @@
 bool
 gl_oset_remove (gl_oset_t set, const void *elt)
 {
-  return ((const struct gl_oset_impl_base *) set)->vtable->remove (set, elt);
+  return ((const struct gl_oset_impl_base *) set)->vtable
+	 ->remove_elt (set, elt);
 }
 
 void
--- a/lib/gl_oset.h
+++ b/lib/gl_oset.h
@@ -1,5 +1,5 @@
 /* Abstract ordered set data type.
-   Copyright (C) 2006-2007 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2009 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2006.
 
    This program is free software: you can redistribute it and/or modify
@@ -168,7 +168,7 @@
 			  gl_setelement_threshold_fn threshold_fn,
 			  const void *threshold, const void **eltp);
   bool (*add) (gl_oset_t set, const void *elt);
-  bool (*remove) (gl_oset_t set, const void *elt);
+  bool (*remove_elt) (gl_oset_t set, const void *elt);
   void (*oset_free) (gl_oset_t set);
   /* gl_oset_iterator_t functions.  */
   gl_oset_iterator_t (*iterator) (gl_oset_t set);
@@ -233,7 +233,8 @@
 static inline bool
 gl_oset_remove (gl_oset_t set, const void *elt)
 {
-  return ((const struct gl_oset_impl_base *) set)->vtable->remove (set, elt);
+  return ((const struct gl_oset_impl_base *) set)->vtable
+	 ->remove_elt (set, elt);
 }
 
 # define gl_oset_free gl_oset_free_inline