From 34de06b73ded24ba6b8d25b18a0b74a204e88fa6 Mon Sep 17 00:00:00 2001 From: David Schoen Date: Fri, 21 Oct 2011 12:07:08 +0800 Subject: [PATCH] importing nherment's patch for issue #7 --- lib/wrench.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/wrench.js b/lib/wrench.js index 4777b0f..340483b 100644 --- a/lib/wrench.js +++ b/lib/wrench.js @@ -213,6 +213,30 @@ exports.copyDirRecursive = function copyDirRecursive(srcDir, newDir, clbk) { }); }; +var mkDirSyncRecursive = function(path, mode) { + var self = this; + + try { + fs.mkdirSync(path, mode); + } catch(err) { + if(err.code == "ENOENT") { + var slashIdx = path.lastIndexOf("/"); + if(slashIdx > 0) { + var parentPath = path.substring(0, slashIdx); + mkDirSyncRecursive(parentPath, mode); + mkDirSyncRecursive(path, mode); + } else { + throw err; + } + } else if(err.code == "EEXIST") { + return; + } else { + throw err; + } + } +}; +exports.mkDirSyncRecursive = mkDirSyncRecursive; + exports.LineReader = function(filename, bufferSize) { this.bufferSize = bufferSize || 8192; this.buffer = "";