diff options
Diffstat (limited to 'lib/utils/fs.js')
-rw-r--r-- | lib/utils/fs.js | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/lib/utils/fs.js b/lib/utils/fs.js index 21956a0..98a3a87 100644 --- a/lib/utils/fs.js +++ b/lib/utils/fs.js @@ -70,20 +70,26 @@ function writeStream(filename, st) { } // Find a filename available -function getUniqueFilename(base) { - var ext = path.extname(base); - base = path.join(path.dirname(base), path.basename(base, ext)); +function getUniqueFilename(base, filename) { + if (!filename) { + filename = base; + base = "/"; + } + + filename = path.resolve(base, filename); + var ext = path.extname(filename); + filename = path.join(path.dirname(filename), path.basename(filename, ext)); - var filename = base+ext; + var _filename = filename+ext; var i = 0; while (1) { if (!fs.existsSync(filename)) break; - filename = base+"_"+i+ext; + _filename = filename+"_"+i+ext; i = i + 1; } - return filename; + return path.relative(base, _filename); } |