X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fxgetcwd.c;h=2089b8897c89e98d236c4377638df58ed2894520;hb=52f70a4b2fae0a54ed61898709994ec37e666f0a;hp=1409bcfba7d684d628e6b1283a2e7303f1d6dd4e;hpb=c824c60fa88c9bd26e6f3b5fd2551d86ae6fccdc;p=gnulib.git diff --git a/lib/xgetcwd.c b/lib/xgetcwd.c index 1409bcfba..2089b8897 100644 --- a/lib/xgetcwd.c +++ b/lib/xgetcwd.c @@ -1,5 +1,5 @@ /* xgetcwd.c -- return current directory with unlimited length - Copyright (C) 1992, 1996, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1992, 1996, 2000, 2001, 2003 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 @@ -28,10 +28,8 @@ extern int errno; #endif #include +#include -#if HAVE_STDLIB_H -# include -#endif #if HAVE_UNISTD_H # include #endif @@ -46,12 +44,16 @@ char *getwd (); #endif #include "xalloc.h" +#include "xgetcwd.h" -/* Return the current directory, newly allocated, arbitrarily long. - Return NULL and set errno on error. */ +/* Return the current directory, newly allocated, assuming it fits + within PATH_MAX bytes -- this is a common system-imposed limit + on how getcwd works. + Upon an out-of-memory error, call xalloc_die. + Upon any other type of error, return NULL. */ char * -xgetcwd () +xgetcwd (void) { #if HAVE_GETCWD_NULL char *cwd = getcwd (NULL, 0);