careadlinkat: rename members to avoid problem
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 8 Apr 2011 17:41:30 +0000 (10:41 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 8 Apr 2011 20:31:39 +0000 (13:31 -0700)
* lib/allocator.h (struct allocator): Rename members from
malloc/realloc to allocate/reallocate, to avoid problems if malloc
and realloc are #define'd.  Reported by Eric Blake in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
* lib/careadlinkat.c (careadlinkat): Adjust to renaming.

careadlinkat: fix compilation error on mingw

ChangeLog
lib/allocator.h
lib/careadlinkat.c

index 099dbd7abf80da2849af78a654a8684dc5df1cb7..c7e4c9280498fb138862c0887b03c777d41a876d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       careadlinkat: rename members to avoid problem
+       * lib/allocator.h (struct allocator): Rename members from
+       malloc/realloc to allocate/reallocate, to avoid problems if malloc
+       and realloc are #define'd.  Reported by Eric Blake in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
+       * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
+
 2011-04-08  Eric Blake  <eblake@redhat.com>
 
        nonblocking: reduce dependency
index 4ac863b224cac91a35fe1f7ad1525c2ebf6515cd..e30732b605d1fc093bab0a93970ccbe1df1bcd8b 100644 (file)
@@ -30,16 +30,16 @@ struct allocator
      attributes do not work with pointers to functions.  See
      <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00007.html>.  */
 
-  /* Call MALLOC to allocate memory, like 'malloc'.  On failure MALLOC
+  /* Call ALLOCATE to allocate memory, like 'malloc'.  On failure ALLOCATE
      should return NULL, though not necessarily set errno.  When given
      a zero size it may return NULL even if successful.  */
-  void *(*malloc) (size_t);
+  void *(*allocate) (size_t);
 
-  /* If nonnull, call REALLOC to reallocate memory, like 'realloc'.
-     On failure REALLOC should return NULL, though not necessarily set
+  /* If nonnull, call REALLOCATE to reallocate memory, like 'realloc'.
+     On failure REALLOCATE should return NULL, though not necessarily set
      errno.  When given a zero size it may return NULL even if
      successful.  */
-  void *(*realloc) (void *, size_t);
+  void *(*reallocate) (void *, size_t);
 
   /* Call FREE to free memory, like 'free'.  */
   void (*free) (void *);
index eb2e009e995fac9208e51f5219d911c0a816f094..0b54b1dfd76a6e3cc747b2fcbda3b15ecec71160 100644 (file)
@@ -133,16 +133,16 @@ careadlinkat (int fd, char const *filename,
 
           if (buf == stack_buf)
             {
-              char *b = (char *) alloc->malloc (link_size);
+              char *b = (char *) alloc->allocate (link_size);
               if (! b)
                 break;
               memcpy (b, buf, link_size);
               buf = b;
             }
-          else if (link_size < buf_size && buf != buffer && alloc->realloc)
+          else if (link_size < buf_size && buf != buffer && alloc->reallocate)
             {
               /* Shrink BUF before returning it.  */
-              char *b = (char *) alloc->realloc (buf, link_size);
+              char *b = (char *) alloc->reallocate (buf, link_size);
               if (b)
                 buf = b;
             }
@@ -159,7 +159,7 @@ careadlinkat (int fd, char const *filename,
         buf_size = buf_size_max;
       else
         break;
-      buf = (char *) alloc->malloc (buf_size);
+      buf = (char *) alloc->allocate (buf_size);
     }
   while (buf);