[dash] report errors from readdir
Change-Id: Ib5b21598ab1717ee9491dcd148f6d7d662a5e6a0
diff --git a/zircon/third_party/uapp/dash/src/bltin/zircon.c b/zircon/third_party/uapp/dash/src/bltin/zircon.c
index d980bcb..b36b248 100644
--- a/zircon/third_party/uapp/dash/src/bltin/zircon.c
+++ b/zircon/third_party/uapp/dash/src/bltin/zircon.c
@@ -106,7 +106,7 @@
printf("%s %8jd %s\n", modestr(s.st_mode), (intmax_t)s.st_size, dirn);
return 0;
}
- while((de = readdir(dir)) != NULL) {
+ while((errno = 0, de = readdir(dir)) != NULL) {
memset(&s, 0, sizeof(struct stat));
if ((strlen(de->d_name) + dirln + 2) <= sizeof(tmp)) {
snprintf(tmp, sizeof(tmp), "%s/%s", dirn, de->d_name);
@@ -115,6 +115,9 @@
printf("%s %2ju %8jd %s\n", modestr(s.st_mode), s.st_nlink,
(intmax_t)s.st_size, de->d_name);
}
+ if (errno != 0) {
+ perror("readdir");
+ }
closedir(dir);
return 0;
}