File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -139,6 +139,9 @@ Buffer.compare = function compare(a, b) {
139139 ! ( b instanceof Buffer ) )
140140 throw new TypeError ( 'Arguments must be Buffers' ) ;
141141
142+ if ( a === b )
143+ return 0 ;
144+
142145 return internal . compare ( a , b ) ;
143146} ;
144147
@@ -268,6 +271,9 @@ Buffer.prototype.equals = function equals(b) {
268271 if ( ! ( b instanceof Buffer ) )
269272 throw new TypeError ( 'Argument must be a Buffer' ) ;
270273
274+ if ( this === b )
275+ return true ;
276+
271277 return internal . compare ( this , b ) === 0 ;
272278} ;
273279
@@ -289,6 +295,9 @@ Buffer.prototype.compare = function compare(b) {
289295 if ( ! ( b instanceof Buffer ) )
290296 throw new TypeError ( 'Argument must be a Buffer' ) ;
291297
298+ if ( this === b )
299+ return 0 ;
300+
292301 return internal . compare ( this , b ) ;
293302} ;
294303
Original file line number Diff line number Diff line change @@ -1128,11 +1128,14 @@ assert.equal(b.compare(c), -1);
11281128assert . equal ( c . compare ( d ) , 1 ) ;
11291129assert . equal ( d . compare ( b ) , 1 ) ;
11301130assert . equal ( b . compare ( d ) , - 1 ) ;
1131+ assert . equal ( b . compare ( b ) , 0 ) ;
11311132
11321133assert . equal ( Buffer . compare ( b , c ) , - 1 ) ;
11331134assert . equal ( Buffer . compare ( c , d ) , 1 ) ;
11341135assert . equal ( Buffer . compare ( d , b ) , 1 ) ;
11351136assert . equal ( Buffer . compare ( b , d ) , - 1 ) ;
1137+ assert . equal ( Buffer . compare ( c , c ) , 0 ) ;
1138+
11361139
11371140assert . throws ( function ( ) {
11381141 var b = new Buffer ( 1 ) ;
@@ -1158,6 +1161,7 @@ var e = new Buffer(6).fill('abcdef');
11581161assert . ok ( b . equals ( c ) ) ;
11591162assert . ok ( ! c . equals ( d ) ) ;
11601163assert . ok ( ! d . equals ( e ) ) ;
1164+ assert . ok ( d . equals ( d ) ) ;
11611165
11621166assert . throws ( function ( ) {
11631167 var b = new Buffer ( 1 ) ;
You can’t perform that action at this time.
0 commit comments