Skip to content

Commit 61762e6

Browse files
committed
Revert
1 parent 9068d87 commit 61762e6

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

src/library_syscall.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -697,22 +697,23 @@ var SyscallsLibrary = {
697697
698698
var startIdx = Math.floor(off / struct_size);
699699
var endIdx = Math.min(stream.getdents.length, startIdx + Math.floor(count/struct_size))
700-
var node;
701700
for (var idx = startIdx; idx < endIdx; idx++) {
701+
var id;
702702
var type;
703703
var name = stream.getdents[idx];
704704
if (name === '.') {
705-
node = stream.node;
705+
id = stream.node.id;
706706
type = 4; // DT_DIR
707707
}
708708
else if (name === '..') {
709709
var lookup = FS.lookupPath(stream.path, { parent: true });
710-
node = lookup.node;
710+
id = lookup.node.id;
711711
type = 4; // DT_DIR
712712
}
713713
else {
714+
var child;
714715
try {
715-
node = FS.lookupNode(stream.node, name);
716+
child = FS.lookupNode(stream.node, name);
716717
} catch (e) {
717718
// If the entry is not a directory, file, or symlink, nodefs
718719
// lookupNode will raise EINVAL. Skip these and continue.
@@ -721,17 +722,16 @@ var SyscallsLibrary = {
721722
}
722723
throw e;
723724
}
724-
type = FS.isChrdev(node.mode) ? 2 : // DT_CHR, character device.
725-
FS.isDir(node.mode) ? 4 : // DT_DIR, directory.
726-
FS.isLink(node.mode) ? 10 : // DT_LNK, symbolic link.
725+
id = child.id;
726+
type = FS.isChrdev(child.mode) ? 2 : // DT_CHR, character device.
727+
FS.isDir(child.mode) ? 4 : // DT_DIR, directory.
728+
FS.isLink(child.mode) ? 10 : // DT_LNK, symbolic link.
727729
8; // DT_REG, regular file.
728730
}
729-
// We use getattr to decide which ino we return to stat, so make sure to
730-
// use it to decide which ino we return to readdir too. noderawfs puts the
731-
// native inode into node.id and doesn't define node_ops.getattr so use
732-
// that as a fallback.
733-
var ino = node.node_ops.getattr?.(node).ino ?? node.id;
734-
{{{ makeSetValue('dirp + pos', C_STRUCTS.dirent.d_ino, 'ino', 'i64') }}};
731+
#if ASSERTIONS
732+
assert(id);
733+
#endif
734+
{{{ makeSetValue('dirp + pos', C_STRUCTS.dirent.d_ino, 'id', 'i64') }}};
735735
{{{ makeSetValue('dirp + pos', C_STRUCTS.dirent.d_off, '(idx + 1) * struct_size', 'i64') }}};
736736
{{{ makeSetValue('dirp + pos', C_STRUCTS.dirent.d_reclen, C_STRUCTS.dirent.__size__, 'i16') }}};
737737
{{{ makeSetValue('dirp + pos', C_STRUCTS.dirent.d_type, 'type', 'i8') }}};

0 commit comments

Comments
 (0)