diff options
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js')
-rw-r--r-- | vnfmarket/src/main/webapp/vnfmarket/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js new file mode 100644 index 00000000..c6c57118 --- /dev/null +++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js @@ -0,0 +1,39 @@ +var fs = require('graceful-fs') + +var BUF_LENGTH = 64 * 1024 +var _buff = new Buffer(BUF_LENGTH) + +function copyFileSync (srcFile, destFile, options) { + var clobber = options.clobber + var preserveTimestamps = options.preserveTimestamps + + if (fs.existsSync(destFile)) { + if (clobber) { + fs.chmodSync(destFile, parseInt('777', 8)) + fs.unlinkSync(destFile) + } else { + throw Error('EEXIST') + } + } + + var fdr = fs.openSync(srcFile, 'r') + var stat = fs.fstatSync(fdr) + var fdw = fs.openSync(destFile, 'w', stat.mode) + var bytesRead = 1 + var pos = 0 + + while (bytesRead > 0) { + bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos) + fs.writeSync(fdw, _buff, 0, bytesRead) + pos += bytesRead + } + + if (preserveTimestamps) { + fs.futimesSync(fdw, stat.atime, stat.mtime) + } + + fs.closeSync(fdr) + fs.closeSync(fdw) +} + +module.exports = copyFileSync |