blob: f386657399ab78dfeaf9a6f1d5a26f7e2f590900 [file] [log] [blame]
'use strict';
var fs = require('fs');
var BUF_SIZE = 16 * 1024;
/* Compare two files by content. */
function equalFiles(pathA, pathB) {
var statA = fs.lstatSync(pathA);
var statB = fs.lstatSync(pathB);
if (statA.size !== statB.size) {
return false;
}
var fdA = fs.openSync(pathA, 'r');
var fdB = fs.openSync(pathB, 'r');
var bufA = new Buffer(BUF_SIZE);
var bufB = new Buffer(BUF_SIZE);
var readA = 1;
var readB = 1;
while (readA > 0) {
readA = fs.readSync(fdA, bufA, 0, bufA.length, null);
readB = fs.readSync(fdB, bufB, 0, bufB.length, null);
if (readA !== readB) {
return false;
}
for (var i = 0; i < readA; i++) {
if (bufA[i] !== bufB[i]) {
return false;
}
}
}
fs.closeSync(fdA);
fs.closeSync(fdB);
return true;
}
module.exports.equalFiles = equalFiles;