Skip to content

Commit d50cd19

Browse files
committed
Micro-optimize memfs readdir. NFC
1 parent 1a6c21e commit d50cd19

19 files changed

+22
-28
lines changed

src/library_memfs.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -198,10 +198,8 @@ addToLibrary({
198198
new_node = FS.lookupNode(new_dir, new_name);
199199
} catch (e) {
200200
}
201-
if (new_node) {
202-
for (var i in new_node.contents) {
203-
throw new FS.ErrnoError({{{ cDefs.ENOTEMPTY }}});
204-
}
201+
if (new_node && Object.keys(new_node.contents).length) {
202+
throw new FS.ErrnoError({{{ cDefs.ENOTEMPTY }}});
205203
}
206204
}
207205
// do the internal rewiring
@@ -216,18 +214,14 @@ addToLibrary({
216214
},
217215
rmdir(parent, name) {
218216
var node = FS.lookupNode(parent, name);
219-
for (var i in node.contents) {
217+
if (Object.keys(node.contents).length) {
220218
throw new FS.ErrnoError({{{ cDefs.ENOTEMPTY }}});
221219
}
222220
delete parent.contents[name];
223221
parent.ctime = parent.mtime = Date.now();
224222
},
225223
readdir(node) {
226-
var entries = ['.', '..'];
227-
for (var key of Object.keys(node.contents)) {
228-
entries.push(key);
229-
}
230-
return entries;
224+
return ['.', '..', ...Object.keys(node.contents)];
231225
},
232226
symlink(parent, newname, oldpath) {
233227
var node = MEMFS.createNode(parent, newname, 0o777 | {{{ cDefs.S_IFLNK }}}, 0);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8479
1+
8472
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20708
1+
20701
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8462
1+
8456
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20676
1+
20669
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9504
1+
9491
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
24551
1+
24544
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8447
1+
8439
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20602
1+
20595
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8447
1+
8439

0 commit comments

Comments
 (0)