OSDN Git Service

UI16(LE)の書きこみマクロの不具合修正
authoryoya <yoya@7c90b180-03d5-4157-b861-58a559ae9d1e>
Thu, 26 May 2011 09:56:03 +0000 (09:56 +0000)
committeryoya <yoya@7c90b180-03d5-4157-b861-58a559ae9d1e>
Thu, 26 May 2011 09:56:03 +0000 (09:56 +0000)
(CID 入れ替えで 256 以上の値が 1 に巻き戻る問題が発生していた)

git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/swfed/trunk@568 7c90b180-03d5-4157-b861-58a559ae9d1e

src/swf_define.h
src/tests/4color-300.swf [new file with mode: 0644]
src/tests/movieclip004.phpt [new file with mode: 0644]

index d7f18fa..bf14b78 100644 (file)
@@ -62,7 +62,7 @@ extern void print_hexbin(unsigned char *data, int data_len);
 #define GetULongLE(data) ((unsigned long) GV4B(data[3], data[2], data[1], data[0]))
 #define GetDoubleIEEE(data) ((double) GV8B(data[4], data[5], data[6], data[7], data[0], data[1], data[2], data[3]))
 
-#define PutUShortLE(data, value) ((data[0] = (value & 0xff)), (data[1] = (value >> 16)))
+#define PutUShortLE(data, value) ((data[0] = (value & 0xff)), (data[1] = (value >> 8)))
 
 // tag
 
diff --git a/src/tests/4color-300.swf b/src/tests/4color-300.swf
new file mode 100644 (file)
index 0000000..db81ff2
Binary files /dev/null and b/src/tests/4color-300.swf differ
diff --git a/src/tests/movieclip004.phpt b/src/tests/movieclip004.phpt
new file mode 100644 (file)
index 0000000..44bfd91
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+replaceMovieClip 300 defineshape & placeobject
+--FILE--
+<?php
+
+$swf_filename = 'tests/negimiku.swf';
+$swf_filename2 = 'tests/4color-300.swf';
+
+$swfdata = file_get_contents($swf_filename);
+$swfdata2 = file_get_contents($swf_filename2);
+$obj = new SWFEditor();
+
+$obj->input($swfdata);
+
+$obj->replaceMovieClip('miku', $swfdata2);
+echo md5($obj->output())."\n";
+?>
+===DONE===
+--EXPECTF--
+72a21c2e2100a7f14fc9785341636541
+===DONE===