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); }); };