From 5c3c1931dd15db4ad0648aade0ad9b9b4b74dece Mon Sep 17 00:00:00 2001 From: Jim Meyering <jim@meyering.net> Date: Tue, 5 Dec 1995 23:39:06 +0000 Subject: (rm): Work around SunOS 4 bug whereby lstat doesn't fail when given a zero-length file name argument. Reported by Mark Calabretta <mcalabre@atnf.csiro.au>. --- src/rm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/rm.c b/src/rm.c index 7a9503258..319aebfca 100644 --- a/src/rm.c +++ b/src/rm.c @@ -211,7 +211,12 @@ rm (void) return 1; } - if (lstat (pathname, &path_stats)) + if (lstat (pathname, &path_stats) + /* The following or-clause is solely for systems like SunOS 4.1.3 + with (broken) lstat that interpret a zero-length file name + argument as something meaningful. For such systems, manually + set errno to ENOENT. */ + || (pathname[0] == '\0' && (errno = ENOENT))) { if (errno == ENOENT && ignore_missing_files) return 0; -- cgit v1.2.3-70-g09d2