Browse Source

fs: avoid multiple conversions to string

nullCheck() implicitly converts the argument to string when checking
the value, so this commit avoids any unnecessary additional (Buffer)
conversions to string.

PR-URL: https://github.com/nodejs/node/pull/10789
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
v6
Brian White 8 years ago
parent
commit
34c9fc2e4e
No known key found for this signature in database GPG Key ID: 606D7358F94DA209
  1. 16
      lib/fs.js

16
lib/fs.js

@ -1503,21 +1503,21 @@ function encodeRealpathResult(result, options) {
fs.realpathSync = function realpathSync(p, options) {
options = getOptions(options, {});
handleError((p = getPathFromURL(p)));
if (typeof p !== 'string')
p += '';
nullCheck(p);
p = p.toString('utf8');
p = pathModule.resolve(p);
const seenLinks = {};
const knownHard = {};
const cache = options[internalFS.realpathCacheKey];
const original = p;
const maybeCachedResult = cache && cache.get(p);
if (maybeCachedResult) {
return maybeCachedResult;
}
const seenLinks = {};
const knownHard = {};
const original = p;
// current character position in p
var pos;
// the partial path so far, including a trailing slash if any
@ -1614,10 +1614,10 @@ fs.realpath = function realpath(p, options, callback) {
options = getOptions(options, {});
if (handleError((p = getPathFromURL(p)), callback))
return;
if (typeof p !== 'string')
p += '';
if (!nullCheck(p, callback))
return;
p = p.toString('utf8');
p = pathModule.resolve(p);
const seenLinks = {};

Loading…
Cancel
Save