ext/libuv/src/unix/fs.c in libuv-3.1.3 vs ext/libuv/src/unix/fs.c in libuv-3.1.4
- old
+ new
@@ -378,43 +378,31 @@
}
static ssize_t uv__fs_scandir(uv_fs_t* req) {
uv__dirent_t **dents;
- int saved_errno;
int n;
dents = NULL;
n = scandir(req->path, &dents, uv__fs_scandir_filter, uv__fs_scandir_sort);
/* NOTE: We will use nbufs as an index field */
req->nbufs = 0;
- if (n == 0)
- goto out; /* osx still needs to deallocate some memory */
- else if (n == -1)
+ if (n == 0) {
+ /* OS X still needs to deallocate some memory.
+ * Memory was allocated using the system allocator, so use free() here.
+ */
+ free(dents);
+ dents = NULL;
+ } else if (n == -1) {
return n;
+ }
req->ptr = dents;
return n;
-
-out:
- saved_errno = errno;
- if (dents != NULL) {
- int i;
-
- /* Memory was allocated using the system allocator, so use free() here. */
- for (i = 0; i < n; i++)
- free(dents[i]);
- free(dents);
- }
- errno = saved_errno;
-
- req->ptr = NULL;
-
- return n;
}
static ssize_t uv__fs_pathmax_size(const char* path) {
ssize_t pathmax;
@@ -811,10 +799,14 @@
dst->st_birthtim.tv_sec = src->st_ctime;
dst->st_birthtim.tv_nsec = src->st_ctimensec;
dst->st_flags = 0;
dst->st_gen = 0;
#elif !defined(_AIX) && ( \
+ defined(__DragonFly__) || \
+ defined(__FreeBSD__) || \
+ defined(__OpenBSD__) || \
+ defined(__NetBSD__) || \
defined(_GNU_SOURCE) || \
defined(_BSD_SOURCE) || \
defined(_SVID_SOURCE) || \
defined(_XOPEN_SOURCE) || \
defined(_DEFAULT_SOURCE))
@@ -822,12 +814,10 @@
dst->st_atim.tv_nsec = src->st_atim.tv_nsec;
dst->st_mtim.tv_sec = src->st_mtim.tv_sec;
dst->st_mtim.tv_nsec = src->st_mtim.tv_nsec;
dst->st_ctim.tv_sec = src->st_ctim.tv_sec;
dst->st_ctim.tv_nsec = src->st_ctim.tv_nsec;
-# if defined(__DragonFly__) || \
- defined(__FreeBSD__) || \
- defined(__OpenBSD__) || \
+# if defined(__FreeBSD__) || \
defined(__NetBSD__)
dst->st_birthtim.tv_sec = src->st_birthtim.tv_sec;
dst->st_birthtim.tv_nsec = src->st_birthtim.tv_nsec;
dst->st_flags = src->st_flags;
dst->st_gen = src->st_gen;