readdirSyncRecursive: follow symlinks only if we haven't read the destination yet #87
1 changed files with 7 additions and 0 deletions
|
|
@ -23,7 +23,14 @@ var fs = require("fs"),
|
||||||
exports.readdirSyncRecursive = function(baseDir) {
|
exports.readdirSyncRecursive = function(baseDir) {
|
||||||
baseDir = baseDir.replace(/\/$/, '');
|
baseDir = baseDir.replace(/\/$/, '');
|
||||||
|
|
||||||
|
var checkedInodes = {};
|
||||||
var readdirSyncRecursive = function(baseDir) {
|
var readdirSyncRecursive = function(baseDir) {
|
||||||
|
var inode = fs.statSync(baseDir).ino;
|
||||||
|
if (inode in checkedInodes) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
checkedInodes[inode] = true;
|
||||||
|
|
||||||
var files = [],
|
var files = [],
|
||||||
curFiles,
|
curFiles,
|
||||||
nextDirs,
|
nextDirs,
|
||||||
|
|
|
||||||
Reference in a new issue