@@ -89,6 +89,7 @@ const {
89
89
Dirent,
90
90
getDirents,
91
91
getOptions,
92
+ getValidatedFd,
92
93
getValidatedPath,
93
94
getValidMode,
94
95
handleErrorFromBinding,
@@ -128,7 +129,6 @@ const {
128
129
validateCallback,
129
130
validateFunction,
130
131
validateInteger,
131
- validateInt32,
132
132
} = require ( 'internal/validators' ) ;
133
133
// 2 ** 32 - 1
134
134
const kMaxUserId = 4294967295 ;
@@ -443,7 +443,7 @@ function defaultCloseCallback(err) {
443
443
}
444
444
445
445
function close ( fd , callback = defaultCloseCallback ) {
446
- validateInt32 ( fd , 'fd' , 0 ) ;
446
+ fd = getValidatedFd ( fd ) ;
447
447
if ( callback !== defaultCloseCallback )
448
448
callback = makeCallback ( callback ) ;
449
449
@@ -453,7 +453,7 @@ function close(fd, callback = defaultCloseCallback) {
453
453
}
454
454
455
455
function closeSync ( fd ) {
456
- validateInt32 ( fd , 'fd' , 0 ) ;
456
+ fd = getValidatedFd ( fd ) ;
457
457
458
458
const ctx = { } ;
459
459
binding . close ( fd , undefined , ctx ) ;
@@ -503,7 +503,7 @@ function openSync(path, flags, mode) {
503
503
// OR
504
504
// fs.read(fd, {}, callback)
505
505
function read ( fd , buffer , offset , length , position , callback ) {
506
- validateInt32 ( fd , 'fd' , 0 ) ;
506
+ fd = getValidatedFd ( fd ) ;
507
507
508
508
if ( arguments . length <= 3 ) {
509
509
// Assume fs.read(fd, options, callback)
@@ -576,7 +576,7 @@ ObjectDefineProperty(read, internalUtil.customPromisifyArgs,
576
576
// OR
577
577
// fs.readSync(fd, buffer, {}) or fs.readSync(fd, buffer)
578
578
function readSync ( fd , buffer , offset , length , position ) {
579
- validateInt32 ( fd , 'fd' , 0 ) ;
579
+ fd = getValidatedFd ( fd ) ;
580
580
581
581
if ( arguments . length <= 3 ) {
582
582
// Assume fs.read(fd, buffer, options)
@@ -623,7 +623,7 @@ function readv(fd, buffers, position, callback) {
623
623
callback ( err , read || 0 , buffers ) ;
624
624
}
625
625
626
- validateInt32 ( fd , 'fd' , /* min */ 0 ) ;
626
+ fd = getValidatedFd ( fd ) ;
627
627
validateBufferArray ( buffers ) ;
628
628
callback = maybeCallback ( callback || position ) ;
629
629
@@ -640,7 +640,7 @@ ObjectDefineProperty(readv, internalUtil.customPromisifyArgs,
640
640
{ value : [ 'bytesRead' , 'buffers' ] , enumerable : false } ) ;
641
641
642
642
function readvSync ( fd , buffers , position ) {
643
- validateInt32 ( fd , 'fd' , 0 ) ;
643
+ fd = getValidatedFd ( fd ) ;
644
644
validateBufferArray ( buffers ) ;
645
645
646
646
const ctx = { } ;
@@ -663,7 +663,7 @@ function write(fd, buffer, offset, length, position, callback) {
663
663
callback ( err , written || 0 , buffer ) ;
664
664
}
665
665
666
- validateInt32 ( fd , 'fd' , 0 ) ;
666
+ fd = getValidatedFd ( fd ) ;
667
667
668
668
if ( isArrayBufferView ( buffer ) ) {
669
669
callback = maybeCallback ( callback || position || length || offset ) ;
@@ -709,7 +709,7 @@ ObjectDefineProperty(write, internalUtil.customPromisifyArgs,
709
709
// OR
710
710
// fs.writeSync(fd, string[, position[, encoding]]);
711
711
function writeSync ( fd , buffer , offset , length , position ) {
712
- validateInt32 ( fd , 'fd' , 0 ) ;
712
+ fd = getValidatedFd ( fd ) ;
713
713
const ctx = { } ;
714
714
let result ;
715
715
if ( isArrayBufferView ( buffer ) ) {
@@ -744,7 +744,7 @@ function writev(fd, buffers, position, callback) {
744
744
callback ( err , written || 0 , buffers ) ;
745
745
}
746
746
747
- validateInt32 ( fd , 'fd' , 0 ) ;
747
+ fd = getValidatedFd ( fd ) ;
748
748
validateBufferArray ( buffers ) ;
749
749
callback = maybeCallback ( callback || position ) ;
750
750
@@ -763,7 +763,7 @@ ObjectDefineProperty(writev, internalUtil.customPromisifyArgs, {
763
763
} ) ;
764
764
765
765
function writevSync ( fd , buffers , position ) {
766
- validateInt32 ( fd , 'fd' , 0 ) ;
766
+ fd = getValidatedFd ( fd ) ;
767
767
validateBufferArray ( buffers ) ;
768
768
769
769
const ctx = { } ;
@@ -849,7 +849,7 @@ function ftruncate(fd, len = 0, callback) {
849
849
callback = len ;
850
850
len = 0 ;
851
851
}
852
- validateInt32 ( fd , 'fd' , 0 ) ;
852
+ fd = getValidatedFd ( fd ) ;
853
853
validateInteger ( len , 'len' ) ;
854
854
len = MathMax ( 0 , len ) ;
855
855
callback = makeCallback ( callback ) ;
@@ -860,7 +860,7 @@ function ftruncate(fd, len = 0, callback) {
860
860
}
861
861
862
862
function ftruncateSync ( fd , len = 0 ) {
863
- validateInt32 ( fd , 'fd' , 0 ) ;
863
+ fd = getValidatedFd ( fd ) ;
864
864
validateInteger ( len , 'len' ) ;
865
865
len = MathMax ( 0 , len ) ;
866
866
const ctx = { } ;
@@ -942,28 +942,28 @@ function rmSync(path, options) {
942
942
}
943
943
944
944
function fdatasync ( fd , callback ) {
945
- validateInt32 ( fd , 'fd' , 0 ) ;
945
+ fd = getValidatedFd ( fd ) ;
946
946
const req = new FSReqCallback ( ) ;
947
947
req . oncomplete = makeCallback ( callback ) ;
948
948
binding . fdatasync ( fd , req ) ;
949
949
}
950
950
951
951
function fdatasyncSync ( fd ) {
952
- validateInt32 ( fd , 'fd' , 0 ) ;
952
+ fd = getValidatedFd ( fd ) ;
953
953
const ctx = { } ;
954
954
binding . fdatasync ( fd , undefined , ctx ) ;
955
955
handleErrorFromBinding ( ctx ) ;
956
956
}
957
957
958
958
function fsync ( fd , callback ) {
959
- validateInt32 ( fd , 'fd' , 0 ) ;
959
+ fd = getValidatedFd ( fd ) ;
960
960
const req = new FSReqCallback ( ) ;
961
961
req . oncomplete = makeCallback ( callback ) ;
962
962
binding . fsync ( fd , req ) ;
963
963
}
964
964
965
965
function fsyncSync ( fd ) {
966
- validateInt32 ( fd , 'fd' , 0 ) ;
966
+ fd = getValidatedFd ( fd ) ;
967
967
const ctx = { } ;
968
968
binding . fsync ( fd , undefined , ctx ) ;
969
969
handleErrorFromBinding ( ctx ) ;
@@ -1054,7 +1054,7 @@ function fstat(fd, options = { bigint: false }, callback) {
1054
1054
callback = options ;
1055
1055
options = { } ;
1056
1056
}
1057
- validateInt32 ( fd , 'fd' , 0 ) ;
1057
+ fd = getValidatedFd ( fd ) ;
1058
1058
callback = makeStatsCallback ( callback ) ;
1059
1059
1060
1060
const req = new FSReqCallback ( options . bigint ) ;
@@ -1102,7 +1102,7 @@ function hasNoEntryError(ctx) {
1102
1102
}
1103
1103
1104
1104
function fstatSync ( fd , options = { bigint : false , throwIfNoEntry : true } ) {
1105
- validateInt32 ( fd , 'fd' , 0 ) ;
1105
+ fd = getValidatedFd ( fd ) ;
1106
1106
const ctx = { fd } ;
1107
1107
const stats = binding . fstat ( fd , options . bigint , undefined , ctx ) ;
1108
1108
handleErrorFromBinding ( ctx ) ;
@@ -1255,7 +1255,7 @@ function unlinkSync(path) {
1255
1255
}
1256
1256
1257
1257
function fchmod ( fd , mode , callback ) {
1258
- validateInt32 ( fd , 'fd' , 0 ) ;
1258
+ fd = getValidatedFd ( fd ) ;
1259
1259
mode = parseFileMode ( mode , 'mode' ) ;
1260
1260
callback = makeCallback ( callback ) ;
1261
1261
@@ -1265,7 +1265,7 @@ function fchmod(fd, mode, callback) {
1265
1265
}
1266
1266
1267
1267
function fchmodSync ( fd , mode ) {
1268
- validateInt32 ( fd , 'fd' , 0 ) ;
1268
+ fd = getValidatedFd ( fd ) ;
1269
1269
mode = parseFileMode ( mode , 'mode' ) ;
1270
1270
const ctx = { } ;
1271
1271
binding . fchmod ( fd , mode , undefined , ctx ) ;
@@ -1343,7 +1343,7 @@ function lchownSync(path, uid, gid) {
1343
1343
}
1344
1344
1345
1345
function fchown ( fd , uid , gid , callback ) {
1346
- validateInt32 ( fd , 'fd' , 0 ) ;
1346
+ fd = getValidatedFd ( fd ) ;
1347
1347
validateInteger ( uid , 'uid' , - 1 , kMaxUserId ) ;
1348
1348
validateInteger ( gid , 'gid' , - 1 , kMaxUserId ) ;
1349
1349
callback = makeCallback ( callback ) ;
@@ -1354,7 +1354,7 @@ function fchown(fd, uid, gid, callback) {
1354
1354
}
1355
1355
1356
1356
function fchownSync ( fd , uid , gid ) {
1357
- validateInt32 ( fd , 'fd' , 0 ) ;
1357
+ fd = getValidatedFd ( fd ) ;
1358
1358
validateInteger ( uid , 'uid' , - 1 , kMaxUserId ) ;
1359
1359
validateInteger ( gid , 'gid' , - 1 , kMaxUserId ) ;
1360
1360
@@ -1405,7 +1405,7 @@ function utimesSync(path, atime, mtime) {
1405
1405
}
1406
1406
1407
1407
function futimes ( fd , atime , mtime , callback ) {
1408
- validateInt32 ( fd , 'fd' , 0 ) ;
1408
+ fd = getValidatedFd ( fd ) ;
1409
1409
atime = toUnixTimestamp ( atime , 'atime' ) ;
1410
1410
mtime = toUnixTimestamp ( mtime , 'mtime' ) ;
1411
1411
callback = makeCallback ( callback ) ;
@@ -1416,7 +1416,7 @@ function futimes(fd, atime, mtime, callback) {
1416
1416
}
1417
1417
1418
1418
function futimesSync ( fd , atime , mtime ) {
1419
- validateInt32 ( fd , 'fd' , 0 ) ;
1419
+ fd = getValidatedFd ( fd ) ;
1420
1420
atime = toUnixTimestamp ( atime , 'atime' ) ;
1421
1421
mtime = toUnixTimestamp ( mtime , 'mtime' ) ;
1422
1422
const ctx = { } ;
0 commit comments