Mercurial > hg > octave-lojdl > gnulib-hg
changeset 1539:b6fbf22cae1b
[lstat]: Remove #undef.
(rpl_lstat): Protoize. Use ENOENT, not EINVAL, to be consistent
with lib/stat.c.
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Sun, 08 Nov 1998 03:40:04 +0000 |
parents | 525b7d3e72f0 |
children | 8a73e8a7a5d4 |
files | lib/lstat.c |
diffstat | 1 files changed, 10 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/lstat.c +++ b/lib/lstat.c @@ -1,7 +1,7 @@ /* Work around the bug in some systems whereby lstat succeeds when given the zero-length file name argument. The lstat from SunOS4.1.4 has this bug. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1998 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 @@ -21,11 +21,6 @@ #include <config.h> -/* Disable the definition of lstat to rpl_lstat (from config.h) in this - file. Otherwise, we'd get conflicting prototypes for rpl_lstat on - most systems. */ -#undef lstat - #include <sys/types.h> #include <sys/stat.h> #include <errno.h> @@ -33,16 +28,20 @@ extern int errno; #endif -/* FIXME: describe. */ +/* This is a wrapper for lstat(2). + If FILE is the empty string, fail with errno == ENOENT. + Otherwise, return the result of calling the real lstat. + + This works around the bug in some systems whereby lstat succeeds when + given the zero-length file name argument. The lstat from SunOS4.1.4 + has this bug. */ int -rpl_lstat (file, sbuf) - const char *file; - struct stat *sbuf; +rpl_lstat (const char *file, struct stat *sbuf) { if (file && *file == 0) { - errno = EINVAL; + errno = ENOENT; return -1; }