Skip to content

Commit 41e3e29

Browse files
authored
Factor out FS.getStreamChecked. NFC (#19529)
1 parent accfb24 commit 41e3e29

10 files changed

+22
-35
lines changed

src/library_fs.js

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,13 @@ FS.staticInit();` +
381381
}
382382
throw new FS.ErrnoError({{{ cDefs.EMFILE }}});
383383
},
384+
getStreamChecked: (fd) => {
385+
var stream = FS.getStream(fd);
386+
if (!stream) {
387+
throw new FS.ErrnoError({{{ cDefs.EBADF }}});
388+
}
389+
return stream;
390+
},
384391
getStream: (fd) => FS.streams[fd],
385392
// TODO parameterize this function such that a stream
386393
// object isn't directly passed in. not possible until
@@ -911,10 +918,7 @@ FS.staticInit();` +
911918
FS.chmod(path, mode, true);
912919
},
913920
fchmod: (fd, mode) => {
914-
var stream = FS.getStream(fd);
915-
if (!stream) {
916-
throw new FS.ErrnoError({{{ cDefs.EBADF }}});
917-
}
921+
var stream = FS.getStreamChecked(fd);
918922
FS.chmod(stream.node, mode);
919923
},
920924
chown: (path, uid, gid, dontFollow) => {
@@ -937,10 +941,7 @@ FS.staticInit();` +
937941
FS.chown(path, uid, gid, true);
938942
},
939943
fchown: (fd, uid, gid) => {
940-
var stream = FS.getStream(fd);
941-
if (!stream) {
942-
throw new FS.ErrnoError({{{ cDefs.EBADF }}});
943-
}
944+
var stream = FS.getStreamChecked(fd);
944945
FS.chown(stream.node, uid, gid);
945946
},
946947
truncate: (path, len) => {
@@ -973,10 +974,7 @@ FS.staticInit();` +
973974
});
974975
},
975976
ftruncate: (fd, len) => {
976-
var stream = FS.getStream(fd);
977-
if (!stream) {
978-
throw new FS.ErrnoError({{{ cDefs.EBADF }}});
979-
}
977+
var stream = FS.getStreamChecked(fd);
980978
if ((stream.flags & {{{ cDefs.O_ACCMODE }}}) === {{{ cDefs.O_RDONLY}}}) {
981979
throw new FS.ErrnoError({{{ cDefs.EINVAL }}});
982980
}
@@ -1361,8 +1359,7 @@ FS.staticInit();` +
13611359
node.node_ops = {
13621360
lookup: (parent, name) => {
13631361
var fd = +name;
1364-
var stream = FS.getStream(fd);
1365-
if (!stream) throw new FS.ErrnoError({{{ cDefs.EBADF }}});
1362+
var stream = FS.getStreamChecked(fd);
13661363
var ret = {
13671364
parent: null,
13681365
mount: { mountpoint: 'fake' },

src/library_noderawfs.js

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,12 @@ mergeInto(LibraryManager.library, {
7070
lstat: function() { return fs.lstatSync.apply(void 0, arguments); },
7171
chmod: function() { fs.chmodSync.apply(void 0, arguments); },
7272
fchmod: function(fd, mode) {
73-
var stream = FS.getStream(fd);
74-
if (!stream) {
75-
throw new FS.ErrnoError({{{ cDefs.EBADF }}});
76-
}
73+
var stream = FS.getStreamChecked(fd);
7774
fs.fchmodSync(stream.nfd, mode);
7875
},
7976
chown: function() { fs.chownSync.apply(void 0, arguments); },
8077
fchown: function(fd, owner, group) {
81-
var stream = FS.getStream(fd);
82-
if (!stream) {
83-
throw new FS.ErrnoError({{{ cDefs.EBADF }}});
84-
}
78+
var stream = FS.getStreamChecked(fd);
8579
fs.fchownSync(stream.nfd, owner, group);
8680
},
8781
truncate: function() { fs.truncateSync.apply(void 0, arguments); },
@@ -90,10 +84,7 @@ mergeInto(LibraryManager.library, {
9084
if (len < 0) {
9185
throw new FS.ErrnoError({{{ cDefs.EINVAL }}});
9286
}
93-
var stream = FS.getStream(fd);
94-
if (!stream) {
95-
throw new FS.ErrnoError({{{ cDefs.EBADF }}});
96-
}
87+
var stream = FS.getStreamChecked(fd);
9788
fs.ftruncateSync(stream.nfd, len);
9889
},
9990
utime: function(path, atime, mtime) { fs.utimesSync(path, atime/1000, mtime/1000); },

src/library_syscall.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,7 @@ var SyscallsLibrary = {
114114
#if SYSCALLS_REQUIRE_FILESYSTEM
115115
// Just like `FS.getStream` but will throw EBADF if stream is undefined.
116116
getStreamFromFD: function(fd) {
117-
var stream = FS.getStream(fd);
118-
if (!stream) throw new FS.ErrnoError({{{ cDefs.EBADF }}});
117+
var stream = FS.getStreamChecked(fd);
119118
#if SYSCALL_DEBUG
120119
dbg(` (stream: "${stream.path}")`);
121120
#endif
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
25951
1+
25923
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
25915
1+
25887
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
30465
1+
30437
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
25760
1+
25732
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
30464
1+
30436
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
25951
1+
25923
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20273
1+
20245

0 commit comments

Comments
 (0)