diff options
-rw-r--r-- | coreutils/ls.c | 8 | ||||
-rw-r--r-- | ls.c | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c index 20373eaaa..207c61763 100644 --- a/coreutils/ls.c +++ b/coreutils/ls.c @@ -483,8 +483,10 @@ static int list_item(const char *name) lstat(fullname, &cur->dstat); /* get file stat info into node */ dnp[ni++]= cur; /* save pointer to node in array */ #else - if (lstat(fullname, &info)) - goto direrr; /* (shouldn't fail) */ + if (lstat(fullname, &info)) { + closedir(dir); + goto listerr; /* (shouldn't fail) */ + } list_single(entry->d_name, &info, fullname); #endif } @@ -504,8 +506,6 @@ static int list_item(const char *name) return 0; - direrr: - closedir(dir); listerr: newline(); perror(name); @@ -483,8 +483,10 @@ static int list_item(const char *name) lstat(fullname, &cur->dstat); /* get file stat info into node */ dnp[ni++]= cur; /* save pointer to node in array */ #else - if (lstat(fullname, &info)) - goto direrr; /* (shouldn't fail) */ + if (lstat(fullname, &info)) { + closedir(dir); + goto listerr; /* (shouldn't fail) */ + } list_single(entry->d_name, &info, fullname); #endif } @@ -504,8 +506,6 @@ static int list_item(const char *name) return 0; - direrr: - closedir(dir); listerr: newline(); perror(name); |