From 19c8fd600d9cde5e12334497606a3eea96039d65 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 23 Jun 2014 04:57:42 -0400 Subject: [PATCH] fix(flop) copy: add directory check --- lib/server/flop.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/server/flop.js b/lib/server/flop.js index d03bd43b..f099ad16 100644 --- a/lib/server/flop.js +++ b/lib/server/flop.js @@ -90,15 +90,18 @@ exports.copy = function(from, to, callback) { Util.checkArgs(arguments, ['from', 'to', 'callback']); - pipe.create(from, to, function(error) { - var isDir = error && error.code === 'EISDIR'; + fs.lstat(from, function(error, stat) { + var isDir = stat && stat.isDirectory(); - if (isDir && ncp) - ncp(from, to, { - stopOnError: true - }, callback); - else + if (error) callback(error); + else if (isDir) + if (ncp) + ncp(from, to, { + stopOnError: true + }, callback); + else + pipe.create(from, to, callback); }); };