From a93d455afcb05ce04ac4e9e8fda046d6b4ef4814 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 8 Nov 1998 03:40:04 +0000 Subject: [PATCH] [lstat]: Remove #undef. (rpl_lstat): Protoize. Use ENOENT, not EINVAL, to be consistent with lib/stat.c. --- lib/lstat.c | 21 ++++++++++----------- 1 file 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 -/* 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 #include #include @@ -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; } -- 2.11.0