diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2012-01-17 14:43:55 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2012-01-17 14:43:55 +0000 |
commit | 2de9abc5c9d40b3c716307d67d16146f823fd554 (patch) | |
tree | 6979db67934ddc8b564150b465846a383b428ff8 /gnulib/doc/posix-functions/realloc.texi | |
parent | 33cc1c6fda6e72a7bae1401e9b2cec495a4d3ff1 (diff) | |
download | patch-baserock/bootstrap.tar.gz |
add the output of bootstrapbaserock/bootstrap-pass2baserock/bootstrap
Diffstat (limited to 'gnulib/doc/posix-functions/realloc.texi')
m--------- | gnulib | 0 | ||||
-rw-r--r-- | gnulib/doc/posix-functions/realloc.texi | 35 |
2 files changed, 35 insertions, 0 deletions
diff --git a/gnulib b/gnulib deleted file mode 160000 -Subproject 443bc5ffcf7429e557f4a371b0661abe98ddbc1 diff --git a/gnulib/doc/posix-functions/realloc.texi b/gnulib/doc/posix-functions/realloc.texi new file mode 100644 index 0000000..4946092 --- /dev/null +++ b/gnulib/doc/posix-functions/realloc.texi @@ -0,0 +1,35 @@ +@node realloc +@section @code{realloc} +@findex realloc + +POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/realloc.html} + +Gnulib module: realloc-posix + +Portability problems fixed by Gnulib: +@itemize +@item +Upon failure, the function does not set @code{errno} to @code{ENOMEM} on +some platforms: +mingw, MSVC 9. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +It is not portable to call @code{realloc} with a size of 0. With a +NULL pointer argument, this is the same ambiguity as @code{malloc (0)} +on whether a unique zero-size object is created. With a non-NULL +pointer argument, C99 requires that if @code{realloc (p, 0)} returns +@code{NULL} then @code{p} is still valid. Among implementations that +obey C99, behavior varies on whether @code{realloc (p, 0)} always +fails and leaves @code{p} valid, or usually succeeds and returns a +unique zero-size object; either way, a program not suspecting these +semantics will leak memory (either the still-valid @code{p}, or the +non-NULL return value). Meanwhile, several implementations violate +C99, by always calling @code{free (p)} but returning NULL: +glibc, Cygwin +@end itemize + +Extension: Gnulib provides a module @samp{realloc-gnu} that substitutes a +@code{realloc} implementation that behaves more like the glibc implementation. |