Jelajahi Sumber

fixed splice

Nicolas Cannasse 15 tahun lalu
induk
melakukan
18f92685d7
1 mengubah file dengan 6 tambahan dan 5 penghapusan
  1. 6 5
      std/neko/_std/Array.hx

+ 6 - 5
std/neko/_std/Array.hx

@@ -225,16 +225,17 @@
 		if( pos > this.length ) {
 			pos = 0;
 			len = 0;
-		} else if( pos + len > this.length )
+		} else if( pos + len > this.length ) {
 			len = this.length - pos;
+			if( len < 0 ) len = 0;
+		}
 		var a = this.__a;
 		var ret = new1(neko.NativeArray.sub(a,pos,len),len);
 		var end = pos + len;
-		var count = this.length-end;
-		neko.NativeArray.blit(a,pos,a,end,count);
+		neko.NativeArray.blit(a,pos,a,end,this.length-end);
 		this.length -= len;
-		while( --count >= 0 )
-			a[end + count] = null;
+		while( --len >= 0 )
+			a[this.length + len] = null;
 		return ret;
 	}