@@ -614,25 +614,21 @@ fs.readSync = function(fd, buffer, offset, length, position) {
614
614
// OR
615
615
// fs.write(fd, string[, position[, encoding]], callback);
616
616
fs . write = function ( fd , buffer , offset , length , position , callback ) {
617
- function strWrapper ( err , written ) {
617
+ function wrapper ( err , written ) {
618
618
// Retain a reference to buffer so that it can't be GC'ed too soon.
619
619
callback ( err , written || 0 , buffer ) ;
620
620
}
621
621
622
- function bufWrapper ( err , written ) {
623
- // retain reference to string in case it's external
624
- callback ( err , written || 0 , buffer ) ;
625
- }
626
-
627
622
var req = new FSReqWrap ( ) ;
623
+ req . oncomplete = wrapper ;
624
+
628
625
if ( buffer instanceof Buffer ) {
629
626
// if no position is passed then assume null
630
627
if ( typeof position === 'function' ) {
631
628
callback = position ;
632
629
position = null ;
633
630
}
634
631
callback = maybeCallback ( callback ) ;
635
- req . oncomplete = strWrapper ;
636
632
return binding . writeBuffer ( fd , buffer , offset , length , position , req ) ;
637
633
}
638
634
@@ -648,7 +644,6 @@ fs.write = function(fd, buffer, offset, length, position, callback) {
648
644
length = 'utf8' ;
649
645
}
650
646
callback = maybeCallback ( position ) ;
651
- req . oncomplete = bufWrapper ;
652
647
return binding . writeString ( fd , buffer , offset , length , req ) ;
653
648
} ;
654
649
0 commit comments