mirror of https://github.com/lukechilds/node.git
Browse Source
Currently, fs.truncate() silently fails when a file descriptor is passed as the first argument. This commit changes this behavior to properly call fs.ftruncate(). PR-URL: https://github.com/joyent/node/pull/9161 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Timothy J Fontaine <tjfontaine@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Conflicts: lib/fs.jsv1.8.0-commit
Bruno Jouhier
10 years ago
committed by
cjihrig
3 changed files with 28 additions and 4 deletions
@ -0,0 +1,25 @@ |
|||
var common = require('../common'); |
|||
var assert = require('assert'); |
|||
var path = require('path'); |
|||
var fs = require('fs'); |
|||
var tmp = common.tmpDir; |
|||
if (!fs.existsSync(tmp)) |
|||
fs.mkdirSync(tmp); |
|||
var filename = path.resolve(tmp, 'truncate-file.txt'); |
|||
|
|||
var success = 0; |
|||
|
|||
fs.writeFileSync(filename, 'hello world', 'utf8'); |
|||
var fd = fs.openSync(filename, 'r+'); |
|||
fs.truncate(fd, 5, function(err) { |
|||
assert.ok(!err); |
|||
assert.equal(fs.readFileSync(filename, 'utf8'), 'hello'); |
|||
success++; |
|||
}); |
|||
|
|||
process.on('exit', function() { |
|||
fs.closeSync(fd); |
|||
fs.unlinkSync(filename); |
|||
assert.equal(success, 1); |
|||
console.log('ok'); |
|||
}); |
Loading…
Reference in new issue