@@ -662,25 +662,21 @@ fs.readSync = function(fd, buffer, offset, length, position) {
662
662
// OR
663
663
// fs.write(fd, string[, position[, encoding]], callback);
664
664
fs . write = function ( fd , buffer , offset , length , position , callback ) {
665
- function strWrapper ( err , written ) {
665
+ function wrapper ( err , written ) {
666
666
// Retain a reference to buffer so that it can't be GC'ed too soon.
667
667
callback ( err , written || 0 , buffer ) ;
668
668
}
669
669
670
- function bufWrapper ( err , written ) {
671
- // retain reference to string in case it's external
672
- callback ( err , written || 0 , buffer ) ;
673
- }
674
-
675
670
var req = new FSReqWrap ( ) ;
671
+ req . oncomplete = wrapper ;
672
+
676
673
if ( buffer instanceof Buffer ) {
677
674
// if no position is passed then assume null
678
675
if ( typeof position === 'function' ) {
679
676
callback = position ;
680
677
position = null ;
681
678
}
682
679
callback = maybeCallback ( callback ) ;
683
- req . oncomplete = strWrapper ;
684
680
return binding . writeBuffer ( fd , buffer , offset , length , position , req ) ;
685
681
}
686
682
@@ -696,7 +692,6 @@ fs.write = function(fd, buffer, offset, length, position, callback) {
696
692
length = 'utf8' ;
697
693
}
698
694
callback = maybeCallback ( position ) ;
699
- req . oncomplete = bufWrapper ;
700
695
return binding . writeString ( fd , buffer , offset , length , req ) ;
701
696
} ;
702
697
0 commit comments