diff options
author | Jim Meyering <jim@meyering.net> | 1998-11-08 03:40:04 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1998-11-08 03:40:04 +0000 |
commit | c091e6fe837c97a6c32bbf2e32371cde9b60eefc (patch) | |
tree | eb631937f83247ab1552a9d5866afbe5785d4727 /lib | |
parent | dc61111cc670a792d6f3c06f8db9a6e52f1d737a (diff) | |
download | coreutils-c091e6fe837c97a6c32bbf2e32371cde9b60eefc.tar.xz |
[lstat]: Remove #undef.
(rpl_lstat): Protoize. Use ENOENT, not EINVAL, to be consistent
with lib/stat.c.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/lstat.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/lib/lstat.c b/lib/lstat.c index 4e220973d..6dca99cbc 100644 --- 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; } |