ソースを参照

[js] fix Bytes.set(p, value) for values over 255 (#9415)

Aleksandr Kuzmenko 5 年 前
コミット
6965c16070
2 ファイル変更11 行追加1 行削除
  1. 1 1
      std/js/_std/haxe/io/Bytes.hx
  2. 10 0
      tests/unit/src/unit/issues/Issue9415.hx

+ 1 - 1
std/js/_std/haxe/io/Bytes.hx

@@ -44,7 +44,7 @@ class Bytes {
 	}
 
 	public inline function set(pos:Int, v:Int):Void {
-		b[pos] = v;
+		b[pos] = v & 0xFF;
 	}
 
 	public function blit(pos:Int, src:Bytes, srcpos:Int, len:Int):Void {

+ 10 - 0
tests/unit/src/unit/issues/Issue9415.hx

@@ -0,0 +1,10 @@
+package unit.issues;
+
+class Issue9415 extends unit.Test {
+	function test() {
+		var b = haxe.io.Bytes.alloc(1);
+		b.set(0, 255);
+		b.set(0, b.get(0) + 1);
+		eq(0, b.get(0));
+	}
+}