@@ -19,13 +19,13 @@ const permissions = {
19
19
} ;
20
20
21
21
function getUid ( ) {
22
- // force NaN on windows.
23
- return process . getuid ? process . getuid ( ) : NaN ;
22
+ // force 0 on windows.
23
+ return process . getuid ? process . getuid ( ) : 0 ;
24
24
}
25
25
26
26
function getGid ( ) {
27
- // force NaN on windows.
28
- return process . getgid ? process . getgid ( ) : NaN ;
27
+ // force 0 on windows.
28
+ return process . getgid ? process . getgid ( ) : 0 ;
29
29
}
30
30
31
31
/**
@@ -110,8 +110,7 @@ Item.prototype.canRead = function() {
110
110
let can = false ;
111
111
if ( uid === 0 ) {
112
112
can = true ;
113
- } else if ( uid === this . _uid || uid !== uid ) {
114
- // (uid !== uid) means uid is NaN, only for windows
113
+ } else if ( uid === this . _uid ) {
115
114
can = ( permissions . USER_READ & this . _mode ) === permissions . USER_READ ;
116
115
} else if ( gid === this . _gid ) {
117
116
can = ( permissions . GROUP_READ & this . _mode ) === permissions . GROUP_READ ;
@@ -131,8 +130,7 @@ Item.prototype.canWrite = function() {
131
130
let can = false ;
132
131
if ( uid === 0 ) {
133
132
can = true ;
134
- } else if ( uid === this . _uid || uid !== uid ) {
135
- // (uid !== uid) means uid is NaN, only for windows
133
+ } else if ( uid === this . _uid ) {
136
134
can = ( permissions . USER_WRITE & this . _mode ) === permissions . USER_WRITE ;
137
135
} else if ( gid === this . _gid ) {
138
136
can = ( permissions . GROUP_WRITE & this . _mode ) === permissions . GROUP_WRITE ;
@@ -152,8 +150,7 @@ Item.prototype.canExecute = function() {
152
150
let can = false ;
153
151
if ( uid === 0 ) {
154
152
can = true ;
155
- } else if ( uid === this . _uid || isNaN ( uid ) ) {
156
- // NaN occurs on windows
153
+ } else if ( uid === this . _uid ) {
157
154
can = ( permissions . USER_EXEC & this . _mode ) === permissions . USER_EXEC ;
158
155
} else if ( gid === this . _gid ) {
159
156
can = ( permissions . GROUP_EXEC & this . _mode ) === permissions . GROUP_EXEC ;
@@ -289,19 +286,8 @@ Item.prototype.getStats = function(bigint) {
289
286
stats [ 0 ] = convert ( 8675309 ) ; // dev
290
287
// [1] is mode
291
288
stats [ 2 ] = convert ( this . links ) ; // nlink
292
-
293
- const uid = this . getUid ( ) ;
294
- if ( ! isNaN ( uid ) ) {
295
- // uid is NaN on windows
296
- stats [ 3 ] = convert ( uid ) ; // uid
297
- }
298
-
299
- const gid = this . getGid ( ) ;
300
- if ( ! isNaN ( gid ) ) {
301
- // gid is NaN on windows
302
- stats [ 4 ] = convert ( gid ) ; // gid
303
- }
304
-
289
+ stats [ 3 ] = convert ( this . getUid ( ) ) ; // uid
290
+ stats [ 4 ] = convert ( this . getGid ( ) ) ; // gid
305
291
stats [ 5 ] = convert ( 0 ) ; // rdev
306
292
stats [ 6 ] = convert ( 4096 ) ; // blksize
307
293
stats [ 7 ] = convert ( this . _id ) ; // ino
0 commit comments