Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(961)

Unified Diff: fusl/src/dirent/scandir.c

Issue 1714623002: [fusl] clang-format fusl (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: headers too Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: fusl/src/dirent/scandir.c
diff --git a/fusl/src/dirent/scandir.c b/fusl/src/dirent/scandir.c
index 3af2b50f81920aeba1fa2731b44cf8aa19fa5140..4093f22c6e7e64ac2462f0144b7f3a8bc466d2bb 100644
--- a/fusl/src/dirent/scandir.c
+++ b/fusl/src/dirent/scandir.c
@@ -6,43 +6,51 @@
#include <stddef.h>
#include "libc.h"
-int scandir(const char *path, struct dirent ***res,
- int (*sel)(const struct dirent *),
- int (*cmp)(const struct dirent **, const struct dirent **))
-{
- DIR *d = opendir(path);
- struct dirent *de, **names=0, **tmp;
- size_t cnt=0, len=0;
- int old_errno = errno;
+int scandir(const char* path,
+ struct dirent*** res,
+ int (*sel)(const struct dirent*),
+ int (*cmp)(const struct dirent**, const struct dirent**)) {
+ DIR* d = opendir(path);
+ struct dirent *de, **names = 0, **tmp;
+ size_t cnt = 0, len = 0;
+ int old_errno = errno;
- if (!d) return -1;
+ if (!d)
+ return -1;
- while ((errno=0), (de = readdir(d))) {
- if (sel && !sel(de)) continue;
- if (cnt >= len) {
- len = 2*len+1;
- if (len > SIZE_MAX/sizeof *names) break;
- tmp = realloc(names, len * sizeof *names);
- if (!tmp) break;
- names = tmp;
- }
- names[cnt] = malloc(de->d_reclen);
- if (!names[cnt]) break;
- memcpy(names[cnt++], de, de->d_reclen);
- }
+ while ((errno = 0), (de = readdir(d))) {
+ if (sel && !sel(de))
+ continue;
+ if (cnt >= len) {
+ len = 2 * len + 1;
+ if (len > SIZE_MAX / sizeof *names)
+ break;
+ tmp = realloc(names, len * sizeof *names);
+ if (!tmp)
+ break;
+ names = tmp;
+ }
+ names[cnt] = malloc(de->d_reclen);
+ if (!names[cnt])
+ break;
+ memcpy(names[cnt++], de, de->d_reclen);
+ }
- closedir(d);
+ closedir(d);
- if (errno) {
- if (names) while (cnt-->0) free(names[cnt]);
- free(names);
- return -1;
- }
- errno = old_errno;
+ if (errno) {
+ if (names)
+ while (cnt-- > 0)
+ free(names[cnt]);
+ free(names);
+ return -1;
+ }
+ errno = old_errno;
- if (cmp) qsort(names, cnt, sizeof *names, (int (*)(const void *, const void *))cmp);
- *res = names;
- return cnt;
+ if (cmp)
+ qsort(names, cnt, sizeof *names, (int (*)(const void*, const void*))cmp);
+ *res = names;
+ return cnt;
}
LFS64(scandir);

Powered by Google App Engine
This is Rietveld 408576698