summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coreutils/ls.c8
-rw-r--r--ls.c8
2 files changed, 8 insertions, 8 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c
index 20373ea..207c617 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);
diff --git a/ls.c b/ls.c
index 20373ea..207c617 100644
--- a/ls.c
+++ b/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);