X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Frealloc.c;h=5c94a0a25c67af5a461db5274291b4204495aa3b;hb=279342da52719ba89de13f7c8b99660695b95080;hp=91fa3b250b109d831e80553b30e038f6a84e0727;hpb=6f68d6c8b00a12f088ca37ed29e2c7d404dcef4e;p=gnulib.git diff --git a/lib/realloc.c b/lib/realloc.c index 91fa3b250..5c94a0a25 100644 --- a/lib/realloc.c +++ b/lib/realloc.c @@ -1,4 +1,4 @@ -/* Work around bug on some systems where realloc (NULL, n) fails. +/* Work around bug on some systems where realloc (NULL, 0) fails. Copyright (C) 1997 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -22,18 +22,22 @@ #endif #undef realloc -#include +#include +char *malloc (); char *realloc (); /* Change the size of an allocated block of memory P to N bytes, - with error checking. If P is NULL, use malloc. */ + with error checking. If N is zero, change it to 1. If P is NULL, + use malloc. */ char * rpl_realloc (p, n) char *p; size_t n; { + if (n == 0) + n = 1; if (p == 0) return malloc (n); return realloc (p, n);