[Swfdec] Branch 'as' - 4 commits - libswfdec/swfdec_as_interpret.c test/trace
Benjamin Otte
company at kemper.freedesktop.org
Mon Jul 2 05:41:21 PDT 2007
libswfdec/swfdec_as_interpret.c | 51 +
test/trace/Makefile.am | 16
test/trace/chartoascii-4.swf |binary
test/trace/chartoascii-4.swf.trace | 7
test/trace/chartoascii-5.swf |binary
test/trace/chartoascii-5.swf.trace | 1011 ++++++++++++++++++++++++++++++++++++
test/trace/chartoascii-6.swf |binary
test/trace/chartoascii-6.swf.trace | 1008 +++++++++++++++++++++++++++++++++++
test/trace/chartoascii-7.swf |binary
test/trace/chartoascii-7.swf.trace | 1008 +++++++++++++++++++++++++++++++++++
test/trace/chartoascii.as | 20
test/trace/stringlength-5.swf |binary
test/trace/stringlength-5.swf.trace | 501 +++++++++++++++++
test/trace/stringlength-6.swf |binary
test/trace/stringlength-6.swf.trace | 501 +++++++++++++++++
test/trace/stringlength-7.swf |binary
test/trace/stringlength-7.swf.trace | 501 +++++++++++++++++
test/trace/stringlength.as | 10
18 files changed, 4632 insertions(+), 2 deletions(-)
New commits:
diff-tree a623e3051b6ec06c8d1c495687888e0b7ff7fea0 (from adbdec6bc91757dc8b746c41766248b8f2f7fa7a)
Author: Benjamin Otte <otte at gnome.org>
Date: Mon Jul 2 13:41:20 2007 +0100
add test for StringLength action
diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index b1e97c3..2262934 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -701,6 +701,13 @@ EXTRA_DIST = \
string-split-empty-6.swf.trace \
string-split-empty-7.swf \
string-split-empty-7.swf.trace \
+ stringlength.as \
+ stringlength-5.swf \
+ stringlength-5.swf.trace \
+ stringlength-6.swf \
+ stringlength-6.swf.trace \
+ stringlength-7.swf \
+ stringlength-7.swf.trace \
substring.as \
substr.as \
substr-5.swf \
diff --git a/test/trace/stringlength-5.swf b/test/trace/stringlength-5.swf
new file mode 100644
index 0000000..c4528c6
Binary files /dev/null and b/test/trace/stringlength-5.swf differ
diff --git a/test/trace/stringlength-5.swf.trace b/test/trace/stringlength-5.swf.trace
new file mode 100644
index 0000000..3d71e14
--- /dev/null
+++ b/test/trace/stringlength-5.swf.trace
@@ -0,0 +1,501 @@
+0
+1
+3
+5
+7
+9
+11
+13
+15
+17
+19
+21
+23
+25
+27
+29
+31
+33
+35
+37
+39
+41
+43
+45
+47
+49
+51
+53
+55
+57
+59
+61
+63
+65
+67
+69
+71
+73
+75
+77
+79
+81
+83
+85
+87
+89
+91
+93
+95
+97
+99
+101
+103
+105
+107
+109
+111
+113
+115
+117
+119
+121
+123
+125
+127
+129
+131
+133
+135
+137
+139
+141
+143
+145
+147
+149
+151
+153
+155
+157
+159
+161
+163
+165
+167
+169
+171
+173
+175
+177
+179
+181
+183
+185
+187
+189
+191
+193
+195
+197
+199
+201
+203
+205
+207
+209
+211
+213
+215
+217
+219
+221
+223
+225
+227
+229
+231
+233
+235
+237
+239
+241
+243
+245
+247
+249
+251
+253
+255
+256
+258
+260
+262
+264
+266
+268
+270
+272
+274
+276
+278
+280
+282
+284
+286
+288
+290
+292
+294
+296
+298
+300
+302
+304
+306
+308
+310
+312
+314
+316
+318
+320
+322
+324
+326
+328
+330
+332
+334
+336
+338
+340
+342
+344
+346
+348
+350
+352
+354
+356
+358
+360
+362
+364
+366
+368
+370
+372
+374
+376
+378
+380
+382
+384
+386
+388
+390
+392
+394
+396
+398
+400
+402
+404
+406
+408
+410
+412
+414
+416
+418
+420
+422
+424
+426
+428
+430
+432
+434
+436
+438
+440
+442
+444
+446
+448
+450
+452
+454
+456
+458
+460
+462
+464
+466
+468
+470
+472
+474
+476
+478
+480
+482
+484
+486
+488
+490
+492
+494
+496
+498
+500
+502
+504
+506
+508
+510
+511
+513
+515
+517
+519
+521
+523
+525
+527
+529
+531
+533
+535
+537
+539
+541
+543
+545
+547
+549
+551
+553
+555
+557
+559
+561
+563
+565
+567
+569
+571
+573
+575
+577
+579
+581
+583
+585
+587
+589
+591
+593
+595
+597
+599
+601
+603
+605
+607
+609
+611
+613
+615
+617
+619
+621
+623
+625
+627
+629
+631
+633
+635
+637
+639
+641
+643
+645
+647
+649
+651
+653
+655
+657
+659
+661
+663
+665
+667
+669
+671
+673
+675
+677
+679
+681
+683
+685
+687
+689
+691
+693
+695
+697
+699
+701
+703
+705
+707
+709
+711
+713
+715
+717
+719
+721
+723
+725
+727
+729
+731
+733
+735
+737
+739
+741
+743
+745
+747
+749
+751
+753
+755
+757
+759
+761
+763
+765
+766
+768
+770
+772
+774
+776
+778
+780
+782
+784
+786
+788
+790
+792
+794
+796
+798
+800
+802
+804
+806
+808
+810
+812
+814
+816
+818
+820
+822
+824
+826
+828
+830
+832
+834
+836
+838
+840
+842
+844
+846
+848
+850
+852
+854
+856
+858
+860
+862
+864
+866
+868
+870
+872
+874
+876
+878
+880
+882
+884
+886
+888
+890
+892
+894
+896
+898
+900
+902
+904
+906
+908
+910
+912
+914
+916
+918
+920
+922
+924
+926
+928
+930
+932
+934
+936
+938
+940
+942
+944
+946
+948
+950
+952
+954
+956
+958
+960
+962
+964
+966
+968
+970
+972
+974
+976
+978
+980
+982
+984
+986
+988
+990
+992
+994
+996
diff --git a/test/trace/stringlength-6.swf b/test/trace/stringlength-6.swf
new file mode 100644
index 0000000..8e68d6a
Binary files /dev/null and b/test/trace/stringlength-6.swf differ
diff --git a/test/trace/stringlength-6.swf.trace b/test/trace/stringlength-6.swf.trace
new file mode 100644
index 0000000..5d4f321
--- /dev/null
+++ b/test/trace/stringlength-6.swf.trace
@@ -0,0 +1,501 @@
+0
+1
+3
+5
+7
+9
+11
+13
+15
+17
+19
+21
+23
+25
+27
+29
+31
+33
+35
+37
+39
+41
+43
+45
+47
+49
+51
+53
+55
+57
+59
+61
+63
+65
+67
+69
+71
+73
+75
+77
+79
+81
+83
+85
+87
+89
+91
+93
+95
+97
+99
+101
+103
+105
+107
+109
+111
+113
+115
+117
+119
+121
+123
+125
+127
+129
+131
+133
+135
+137
+139
+141
+143
+145
+147
+149
+151
+153
+155
+157
+159
+161
+163
+165
+167
+169
+171
+173
+175
+177
+179
+181
+183
+185
+187
+189
+191
+193
+195
+197
+199
+201
+203
+205
+207
+209
+211
+213
+215
+217
+219
+221
+223
+225
+227
+229
+231
+233
+235
+237
+239
+241
+243
+245
+247
+249
+251
+253
+255
+257
+259
+261
+263
+265
+267
+269
+271
+273
+275
+277
+279
+281
+283
+285
+287
+289
+291
+293
+295
+297
+299
+301
+303
+305
+307
+309
+311
+313
+315
+317
+319
+321
+323
+325
+327
+329
+331
+333
+335
+337
+339
+341
+343
+345
+347
+349
+351
+353
+355
+357
+359
+361
+363
+365
+367
+369
+371
+373
+375
+377
+379
+381
+383
+385
+387
+389
+391
+393
+395
+397
+399
+401
+403
+405
+407
+409
+411
+413
+415
+417
+419
+421
+423
+425
+427
+429
+431
+433
+435
+437
+439
+441
+443
+445
+447
+449
+451
+453
+455
+457
+459
+461
+463
+465
+467
+469
+471
+473
+475
+477
+479
+481
+483
+485
+487
+489
+491
+493
+495
+497
+499
+501
+503
+505
+507
+509
+511
+513
+515
+517
+519
+521
+523
+525
+527
+529
+531
+533
+535
+537
+539
+541
+543
+545
+547
+549
+551
+553
+555
+557
+559
+561
+563
+565
+567
+569
+571
+573
+575
+577
+579
+581
+583
+585
+587
+589
+591
+593
+595
+597
+599
+601
+603
+605
+607
+609
+611
+613
+615
+617
+619
+621
+623
+625
+627
+629
+631
+633
+635
+637
+639
+641
+643
+645
+647
+649
+651
+653
+655
+657
+659
+661
+663
+665
+667
+669
+671
+673
+675
+677
+679
+681
+683
+685
+687
+689
+691
+693
+695
+697
+699
+701
+703
+705
+707
+709
+711
+713
+715
+717
+719
+721
+723
+725
+727
+729
+731
+733
+735
+737
+739
+741
+743
+745
+747
+749
+751
+753
+755
+757
+759
+761
+763
+765
+767
+769
+771
+773
+775
+777
+779
+781
+783
+785
+787
+789
+791
+793
+795
+797
+799
+801
+803
+805
+807
+809
+811
+813
+815
+817
+819
+821
+823
+825
+827
+829
+831
+833
+835
+837
+839
+841
+843
+845
+847
+849
+851
+853
+855
+857
+859
+861
+863
+865
+867
+869
+871
+873
+875
+877
+879
+881
+883
+885
+887
+889
+891
+893
+895
+897
+899
+901
+903
+905
+907
+909
+911
+913
+915
+917
+919
+921
+923
+925
+927
+929
+931
+933
+935
+937
+939
+941
+943
+945
+947
+949
+951
+953
+955
+957
+959
+961
+963
+965
+967
+969
+971
+973
+975
+977
+979
+981
+983
+985
+987
+989
+991
+993
+995
+997
+999
diff --git a/test/trace/stringlength-7.swf b/test/trace/stringlength-7.swf
new file mode 100644
index 0000000..7d69c74
Binary files /dev/null and b/test/trace/stringlength-7.swf differ
diff --git a/test/trace/stringlength-7.swf.trace b/test/trace/stringlength-7.swf.trace
new file mode 100644
index 0000000..5d4f321
--- /dev/null
+++ b/test/trace/stringlength-7.swf.trace
@@ -0,0 +1,501 @@
+0
+1
+3
+5
+7
+9
+11
+13
+15
+17
+19
+21
+23
+25
+27
+29
+31
+33
+35
+37
+39
+41
+43
+45
+47
+49
+51
+53
+55
+57
+59
+61
+63
+65
+67
+69
+71
+73
+75
+77
+79
+81
+83
+85
+87
+89
+91
+93
+95
+97
+99
+101
+103
+105
+107
+109
+111
+113
+115
+117
+119
+121
+123
+125
+127
+129
+131
+133
+135
+137
+139
+141
+143
+145
+147
+149
+151
+153
+155
+157
+159
+161
+163
+165
+167
+169
+171
+173
+175
+177
+179
+181
+183
+185
+187
+189
+191
+193
+195
+197
+199
+201
+203
+205
+207
+209
+211
+213
+215
+217
+219
+221
+223
+225
+227
+229
+231
+233
+235
+237
+239
+241
+243
+245
+247
+249
+251
+253
+255
+257
+259
+261
+263
+265
+267
+269
+271
+273
+275
+277
+279
+281
+283
+285
+287
+289
+291
+293
+295
+297
+299
+301
+303
+305
+307
+309
+311
+313
+315
+317
+319
+321
+323
+325
+327
+329
+331
+333
+335
+337
+339
+341
+343
+345
+347
+349
+351
+353
+355
+357
+359
+361
+363
+365
+367
+369
+371
+373
+375
+377
+379
+381
+383
+385
+387
+389
+391
+393
+395
+397
+399
+401
+403
+405
+407
+409
+411
+413
+415
+417
+419
+421
+423
+425
+427
+429
+431
+433
+435
+437
+439
+441
+443
+445
+447
+449
+451
+453
+455
+457
+459
+461
+463
+465
+467
+469
+471
+473
+475
+477
+479
+481
+483
+485
+487
+489
+491
+493
+495
+497
+499
+501
+503
+505
+507
+509
+511
+513
+515
+517
+519
+521
+523
+525
+527
+529
+531
+533
+535
+537
+539
+541
+543
+545
+547
+549
+551
+553
+555
+557
+559
+561
+563
+565
+567
+569
+571
+573
+575
+577
+579
+581
+583
+585
+587
+589
+591
+593
+595
+597
+599
+601
+603
+605
+607
+609
+611
+613
+615
+617
+619
+621
+623
+625
+627
+629
+631
+633
+635
+637
+639
+641
+643
+645
+647
+649
+651
+653
+655
+657
+659
+661
+663
+665
+667
+669
+671
+673
+675
+677
+679
+681
+683
+685
+687
+689
+691
+693
+695
+697
+699
+701
+703
+705
+707
+709
+711
+713
+715
+717
+719
+721
+723
+725
+727
+729
+731
+733
+735
+737
+739
+741
+743
+745
+747
+749
+751
+753
+755
+757
+759
+761
+763
+765
+767
+769
+771
+773
+775
+777
+779
+781
+783
+785
+787
+789
+791
+793
+795
+797
+799
+801
+803
+805
+807
+809
+811
+813
+815
+817
+819
+821
+823
+825
+827
+829
+831
+833
+835
+837
+839
+841
+843
+845
+847
+849
+851
+853
+855
+857
+859
+861
+863
+865
+867
+869
+871
+873
+875
+877
+879
+881
+883
+885
+887
+889
+891
+893
+895
+897
+899
+901
+903
+905
+907
+909
+911
+913
+915
+917
+919
+921
+923
+925
+927
+929
+931
+933
+935
+937
+939
+941
+943
+945
+947
+949
+951
+953
+955
+957
+959
+961
+963
+965
+967
+969
+971
+973
+975
+977
+979
+981
+983
+985
+987
+989
+991
+993
+995
+997
+999
diff --git a/test/trace/stringlength.as b/test/trace/stringlength.as
new file mode 100644
index 0000000..87024cb
--- /dev/null
+++ b/test/trace/stringlength.as
@@ -0,0 +1,10 @@
+// makeswf -v 7 -s 200x150 -r 1 -o stringlength.swf stringlength.as
+
+s = "";
+trace (s.length);
+for (i = 0; i < 1000; i += 2) {
+ s = chr (i + 1) + s + chr (i);
+ trace (s.length);
+}
+
+loadMovie ("FSCommand:quit", "");
diff-tree adbdec6bc91757dc8b746c41766248b8f2f7fa7a (from 9d63870a79a3b6e3f74b2c800c94640f74873958)
Author: Andreas Henriksson <andreas at fatal.se>
Date: Mon Jul 2 13:39:54 2007 +0100
implement StringLength bytecode
diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index 71790c1..7c9025d 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -982,6 +982,17 @@ swfdec_action_old_compare (SwfdecAsConte
}
static void
+swfdec_action_string_length (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
+{
+ const char *s;
+ SwfdecAsValue *v;
+
+ v = swfdec_as_stack_peek (cx->frame->stack, 1);
+ s = swfdec_as_value_to_string (cx, v);
+ SWFDEC_AS_VALUE_SET_INT (v, g_utf8_strlen (s, -1));
+}
+
+static void
swfdec_action_string_compare (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
{
const char *l, *r;
@@ -2394,7 +2405,7 @@ const SwfdecActionSpec swfdec_as_actions
[SWFDEC_AS_ACTION_OR] = { "Or", NULL, 2, 1, { NULL, /* FIXME */NULL, swfdec_action_logical, swfdec_action_logical, swfdec_action_logical } },
[SWFDEC_AS_ACTION_NOT] = { "Not", NULL, 1, 1, { NULL, swfdec_action_not_4, swfdec_action_not_5, swfdec_action_not_5, swfdec_action_not_5 } },
[SWFDEC_AS_ACTION_STRING_EQUALS] = { "StringEquals", NULL, 2, 1, { NULL, swfdec_action_string_compare, swfdec_action_string_compare, swfdec_action_string_compare, swfdec_action_string_compare } },
- [SWFDEC_AS_ACTION_STRING_LENGTH] = { "StringLength", NULL },
+ [SWFDEC_AS_ACTION_STRING_LENGTH] = { "StringLength", NULL, 1, 1, { NULL, swfdec_action_string_length, swfdec_action_string_length, swfdec_action_string_length, swfdec_action_string_length } },
[SWFDEC_AS_ACTION_STRING_EXTRACT] = { "StringExtract", NULL },
[SWFDEC_AS_ACTION_POP] = { "Pop", NULL, 1, 0, { NULL, swfdec_action_pop, swfdec_action_pop, swfdec_action_pop, swfdec_action_pop } },
[SWFDEC_AS_ACTION_TO_INTEGER] = { "ToInteger", NULL, 1, 1, { NULL, swfdec_action_to_integer, swfdec_action_to_integer, swfdec_action_to_integer, swfdec_action_to_integer } },
diff-tree 9d63870a79a3b6e3f74b2c800c94640f74873958 (from 108cefb58caa6f3ed35db143176fb0bc071d26fc)
Author: Andreas Henriksson <andreas at fatal.se>
Date: Mon Jul 2 12:01:02 2007 +0100
add testcase for CharToAscii action
diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index e303d77..b1e97c3 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -78,6 +78,15 @@ EXTRA_DIST = \
charat-6.swf.trace \
charat-7.swf \
charat-7.swf.trace \
+ chartoascii.as \
+ chartoascii-4.swf \
+ chartoascii-4.swf.trace \
+ chartoascii-5.swf \
+ chartoascii-5.swf.trace \
+ chartoascii-6.swf \
+ chartoascii-6.swf.trace \
+ chartoascii-7.swf \
+ chartoascii-7.swf.trace \
children.swf \
children.swf.trace \
chr.as \
diff --git a/test/trace/chartoascii-4.swf b/test/trace/chartoascii-4.swf
new file mode 100644
index 0000000..4e77ed2
Binary files /dev/null and b/test/trace/chartoascii-4.swf differ
diff --git a/test/trace/chartoascii-4.swf.trace b/test/trace/chartoascii-4.swf.trace
new file mode 100644
index 0000000..088cefd
--- /dev/null
+++ b/test/trace/chartoascii-4.swf.trace
@@ -0,0 +1,7 @@
+CharToAscii testcase
+195
+195
+195
+195
+195
+195
diff --git a/test/trace/chartoascii-5.swf b/test/trace/chartoascii-5.swf
new file mode 100644
index 0000000..e0d765a
Binary files /dev/null and b/test/trace/chartoascii-5.swf differ
diff --git a/test/trace/chartoascii-5.swf.trace b/test/trace/chartoascii-5.swf.trace
new file mode 100644
index 0000000..eb920e9
--- /dev/null
+++ b/test/trace/chartoascii-5.swf.trace
@@ -0,0 +1,1011 @@
+CharToAscii testcase
+0 - - 0
+1 - - 1
+2 - - 2
+3 - - 3
+4 - - 4
+5 - - 5
+6 - - 6
+7 - - 7
+8 - - 8
+9 - - 9
+10 -
+ - 10
+11 - - 11
+12 - - 12
+13 -
- 13
+14 - - 14
+15 - - 15
+16 - - 16
+17 - - 17
+18 - - 18
+19 - - 19
+20 - - 20
+21 - - 21
+22 - - 22
+23 - - 23
+24 - - 24
+25 - - 25
+26 - - 26
+27 - - 27
+28 - - 28
+29 - - 29
+30 - - 30
+31 - - 31
+32 - - 32
+33 - ! - 33
+34 - " - 34
+35 - # - 35
+36 - $ - 36
+37 - % - 37
+38 - & - 38
+39 - ' - 39
+40 - ( - 40
+41 - ) - 41
+42 - * - 42
+43 - + - 43
+44 - , - 44
+45 - - - 45
+46 - . - 46
+47 - / - 47
+48 - 0 - 48
+49 - 1 - 49
+50 - 2 - 50
+51 - 3 - 51
+52 - 4 - 52
+53 - 5 - 53
+54 - 6 - 54
+55 - 7 - 55
+56 - 8 - 56
+57 - 9 - 57
+58 - : - 58
+59 - ; - 59
+60 - < - 60
+61 - = - 61
+62 - > - 62
+63 - ? - 63
+64 - @ - 64
+65 - A - 65
+66 - B - 66
+67 - C - 67
+68 - D - 68
+69 - E - 69
+70 - F - 70
+71 - G - 71
+72 - H - 72
+73 - I - 73
+74 - J - 74
+75 - K - 75
+76 - L - 76
+77 - M - 77
+78 - N - 78
+79 - O - 79
+80 - P - 80
+81 - Q - 81
+82 - R - 82
+83 - S - 83
+84 - T - 84
+85 - U - 85
+86 - V - 86
+87 - W - 87
+88 - X - 88
+89 - Y - 89
+90 - Z - 90
+91 - [ - 91
+92 - \ - 92
+93 - ] - 93
+94 - ^ - 94
+95 - _ - 95
+96 - ` - 96
+97 - a - 97
+98 - b - 98
+99 - c - 99
+100 - d - 100
+101 - e - 101
+102 - f - 102
+103 - g - 103
+104 - h - 104
+105 - i - 105
+106 - j - 106
+107 - k - 107
+108 - l - 108
+109 - m - 109
+110 - n - 110
+111 - o - 111
+112 - p - 112
+113 - q - 113
+114 - r - 114
+115 - s - 115
+116 - t - 116
+117 - u - 117
+118 - v - 118
+119 - w - 119
+120 - x - 120
+121 - y - 121
+122 - z - 122
+123 - { - 123
+124 - | - 124
+125 - } - 125
+126 - ~ - 126
+127 - - 127
+128 - Â - 128
+129 - Â - 129
+130 - Â - 130
+131 - Â - 131
+132 - Â - 132
+133 - Â
- 133
+134 - Â - 134
+135 - Â - 135
+136 - Â - 136
+137 - Â - 137
+138 - Â - 138
+139 - Â - 139
+140 - Â - 140
+141 - Â - 141
+142 - Â - 142
+143 - Â - 143
+144 - Â - 144
+145 - Â - 145
+146 - Â - 146
+147 - Â - 147
+148 - Â - 148
+149 - Â - 149
+150 - Â - 150
+151 - Â - 151
+152 - Â - 152
+153 - Â - 153
+154 - Â - 154
+155 - Â - 155
+156 - Â - 156
+157 - Â - 157
+158 - Â - 158
+159 - Â - 159
+160 - Â - 160
+161 - ¡ - 161
+162 - ¢ - 162
+163 - £ - 163
+164 - ¤ - 164
+165 - ¥ - 165
+166 - ¦ - 166
+167 - § - 167
+168 - ¨ - 168
+169 - © - 169
+170 - ª - 170
+171 - « - 171
+172 - ¬ - 172
+173 - Â - 173
+174 - ® - 174
+175 - ¯ - 175
+176 - ° - 176
+177 - ± - 177
+178 - ² - 178
+179 - ³ - 179
+180 - ´ - 180
+181 - µ - 181
+182 - ¶ - 182
+183 - · - 183
+184 - ¸ - 184
+185 - ¹ - 185
+186 - º - 186
+187 - » - 187
+188 - ¼ - 188
+189 - ½ - 189
+190 - ¾ - 190
+191 - ¿ - 191
+192 - Ã - 192
+193 - Ã - 193
+194 - Ã - 194
+195 - Ã - 195
+196 - Ã - 196
+197 - Ã
- 197
+198 - Ã - 198
+199 - Ã - 199
+200 - Ã - 200
+201 - Ã - 201
+202 - Ã - 202
+203 - Ã - 203
+204 - Ã - 204
+205 - Ã - 205
+206 - Ã - 206
+207 - Ã - 207
+208 - Ã - 208
+209 - Ã - 209
+210 - Ã - 210
+211 - Ã - 211
+212 - Ã - 212
+213 - Ã - 213
+214 - Ã - 214
+215 - Ã - 215
+216 - Ã - 216
+217 - Ã - 217
+218 - Ã - 218
+219 - Ã - 219
+220 - Ã - 220
+221 - Ã - 221
+222 - Ã - 222
+223 - Ã - 223
+224 - Ã - 224
+225 - á - 225
+226 - â - 226
+227 - ã - 227
+228 - ä - 228
+229 - å - 229
+230 - æ - 230
+231 - ç - 231
+232 - è - 232
+233 - é - 233
+234 - ê - 234
+235 - ë - 235
+236 - ì - 236
+237 - Ã - 237
+238 - î - 238
+239 - ï - 239
+240 - ð - 240
+241 - ñ - 241
+242 - ò - 242
+243 - ó - 243
+244 - ô - 244
+245 - õ - 245
+246 - ö - 246
+247 - ÷ - 247
+248 - ø - 248
+249 - ù - 249
+250 - ú - 250
+251 - û - 251
+252 - ü - 252
+253 - ý - 253
+254 - þ - 254
+255 - ÿ - 255
+256 - - 0
+257 - - 1
+258 - - 2
+259 - - 3
+260 - - 4
+261 - - 5
+262 - - 6
+263 - - 7
+264 - - 8
+265 - - 9
+266 -
+ - 10
+267 - - 11
+268 - - 12
+269 -
- 13
+270 - - 14
+271 - - 15
+272 - - 16
+273 - - 17
+274 - - 18
+275 - - 19
+276 - - 20
+277 - - 21
+278 - - 22
+279 - - 23
+280 - - 24
+281 - - 25
+282 - - 26
+283 - - 27
+284 - - 28
+285 - - 29
+286 - - 30
+287 - - 31
+288 - - 32
+289 - ! - 33
+290 - " - 34
+291 - # - 35
+292 - $ - 36
+293 - % - 37
+294 - & - 38
+295 - ' - 39
+296 - ( - 40
+297 - ) - 41
+298 - * - 42
+299 - + - 43
+300 - , - 44
+301 - - - 45
+302 - . - 46
+303 - / - 47
+304 - 0 - 48
+305 - 1 - 49
+306 - 2 - 50
+307 - 3 - 51
+308 - 4 - 52
+309 - 5 - 53
+310 - 6 - 54
+311 - 7 - 55
+312 - 8 - 56
+313 - 9 - 57
+314 - : - 58
+315 - ; - 59
+316 - < - 60
+317 - = - 61
+318 - > - 62
+319 - ? - 63
+320 - @ - 64
+321 - A - 65
+322 - B - 66
+323 - C - 67
+324 - D - 68
+325 - E - 69
+326 - F - 70
+327 - G - 71
+328 - H - 72
+329 - I - 73
+330 - J - 74
+331 - K - 75
+332 - L - 76
+333 - M - 77
+334 - N - 78
+335 - O - 79
+336 - P - 80
+337 - Q - 81
+338 - R - 82
+339 - S - 83
+340 - T - 84
+341 - U - 85
+342 - V - 86
+343 - W - 87
+344 - X - 88
+345 - Y - 89
+346 - Z - 90
+347 - [ - 91
+348 - \ - 92
+349 - ] - 93
+350 - ^ - 94
+351 - _ - 95
+352 - ` - 96
+353 - a - 97
+354 - b - 98
+355 - c - 99
+356 - d - 100
+357 - e - 101
+358 - f - 102
+359 - g - 103
+360 - h - 104
+361 - i - 105
+362 - j - 106
+363 - k - 107
+364 - l - 108
+365 - m - 109
+366 - n - 110
+367 - o - 111
+368 - p - 112
+369 - q - 113
+370 - r - 114
+371 - s - 115
+372 - t - 116
+373 - u - 117
+374 - v - 118
+375 - w - 119
+376 - x - 120
+377 - y - 121
+378 - z - 122
+379 - { - 123
+380 - | - 124
+381 - } - 125
+382 - ~ - 126
+383 - - 127
+384 - Â - 128
+385 - Â - 129
+386 - Â - 130
+387 - Â - 131
+388 - Â - 132
+389 - Â
- 133
+390 - Â - 134
+391 - Â - 135
+392 - Â - 136
+393 - Â - 137
+394 - Â - 138
+395 - Â - 139
+396 - Â - 140
+397 - Â - 141
+398 - Â - 142
+399 - Â - 143
+400 - Â - 144
+401 - Â - 145
+402 - Â - 146
+403 - Â - 147
+404 - Â - 148
+405 - Â - 149
+406 - Â - 150
+407 - Â - 151
+408 - Â - 152
+409 - Â - 153
+410 - Â - 154
+411 - Â - 155
+412 - Â - 156
+413 - Â - 157
+414 - Â - 158
+415 - Â - 159
+416 - Â - 160
+417 - ¡ - 161
+418 - ¢ - 162
+419 - £ - 163
+420 - ¤ - 164
+421 - ¥ - 165
+422 - ¦ - 166
+423 - § - 167
+424 - ¨ - 168
+425 - © - 169
+426 - ª - 170
+427 - « - 171
+428 - ¬ - 172
+429 - Â - 173
+430 - ® - 174
+431 - ¯ - 175
+432 - ° - 176
+433 - ± - 177
+434 - ² - 178
+435 - ³ - 179
+436 - ´ - 180
+437 - µ - 181
+438 - ¶ - 182
+439 - · - 183
+440 - ¸ - 184
+441 - ¹ - 185
+442 - º - 186
+443 - » - 187
+444 - ¼ - 188
+445 - ½ - 189
+446 - ¾ - 190
+447 - ¿ - 191
+448 - Ã - 192
+449 - Ã - 193
+450 - Ã - 194
+451 - Ã - 195
+452 - Ã - 196
+453 - Ã
- 197
+454 - Ã - 198
+455 - Ã - 199
+456 - Ã - 200
+457 - Ã - 201
+458 - Ã - 202
+459 - Ã - 203
+460 - Ã - 204
+461 - Ã - 205
+462 - Ã - 206
+463 - Ã - 207
+464 - Ã - 208
+465 - Ã - 209
+466 - Ã - 210
+467 - Ã - 211
+468 - Ã - 212
+469 - Ã - 213
+470 - Ã - 214
+471 - Ã - 215
+472 - Ã - 216
+473 - Ã - 217
+474 - Ã - 218
+475 - Ã - 219
+476 - Ã - 220
+477 - Ã - 221
+478 - Ã - 222
+479 - Ã - 223
+480 - Ã - 224
+481 - á - 225
+482 - â - 226
+483 - ã - 227
+484 - ä - 228
+485 - å - 229
+486 - æ - 230
+487 - ç - 231
+488 - è - 232
+489 - é - 233
+490 - ê - 234
+491 - ë - 235
+492 - ì - 236
+493 - Ã - 237
+494 - î - 238
+495 - ï - 239
+496 - ð - 240
+497 - ñ - 241
+498 - ò - 242
+499 - ó - 243
+500 - ô - 244
+501 - õ - 245
+502 - ö - 246
+503 - ÷ - 247
+504 - ø - 248
+505 - ù - 249
+506 - ú - 250
+507 - û - 251
+508 - ü - 252
+509 - ý - 253
+510 - þ - 254
+511 - ÿ - 255
+512 - - 0
+513 - - 1
+514 - - 2
+515 - - 3
+516 - - 4
+517 - - 5
+518 - - 6
+519 - - 7
+520 - - 8
+521 - - 9
+522 -
+ - 10
+523 - - 11
+524 - - 12
+525 -
- 13
+526 - - 14
+527 - - 15
+528 - - 16
+529 - - 17
+530 - - 18
+531 - - 19
+532 - - 20
+533 - - 21
+534 - - 22
+535 - - 23
+536 - - 24
+537 - - 25
+538 - - 26
+539 - - 27
+540 - - 28
+541 - - 29
+542 - - 30
+543 - - 31
+544 - - 32
+545 - ! - 33
+546 - " - 34
+547 - # - 35
+548 - $ - 36
+549 - % - 37
+550 - & - 38
+551 - ' - 39
+552 - ( - 40
+553 - ) - 41
+554 - * - 42
+555 - + - 43
+556 - , - 44
+557 - - - 45
+558 - . - 46
+559 - / - 47
+560 - 0 - 48
+561 - 1 - 49
+562 - 2 - 50
+563 - 3 - 51
+564 - 4 - 52
+565 - 5 - 53
+566 - 6 - 54
+567 - 7 - 55
+568 - 8 - 56
+569 - 9 - 57
+570 - : - 58
+571 - ; - 59
+572 - < - 60
+573 - = - 61
+574 - > - 62
+575 - ? - 63
+576 - @ - 64
+577 - A - 65
+578 - B - 66
+579 - C - 67
+580 - D - 68
+581 - E - 69
+582 - F - 70
+583 - G - 71
+584 - H - 72
+585 - I - 73
+586 - J - 74
+587 - K - 75
+588 - L - 76
+589 - M - 77
+590 - N - 78
+591 - O - 79
+592 - P - 80
+593 - Q - 81
+594 - R - 82
+595 - S - 83
+596 - T - 84
+597 - U - 85
+598 - V - 86
+599 - W - 87
+600 - X - 88
+601 - Y - 89
+602 - Z - 90
+603 - [ - 91
+604 - \ - 92
+605 - ] - 93
+606 - ^ - 94
+607 - _ - 95
+608 - ` - 96
+609 - a - 97
+610 - b - 98
+611 - c - 99
+612 - d - 100
+613 - e - 101
+614 - f - 102
+615 - g - 103
+616 - h - 104
+617 - i - 105
+618 - j - 106
+619 - k - 107
+620 - l - 108
+621 - m - 109
+622 - n - 110
+623 - o - 111
+624 - p - 112
+625 - q - 113
+626 - r - 114
+627 - s - 115
+628 - t - 116
+629 - u - 117
+630 - v - 118
+631 - w - 119
+632 - x - 120
+633 - y - 121
+634 - z - 122
+635 - { - 123
+636 - | - 124
+637 - } - 125
+638 - ~ - 126
+639 - - 127
+640 - Â - 128
+641 - Â - 129
+642 - Â - 130
+643 - Â - 131
+644 - Â - 132
+645 - Â
- 133
+646 - Â - 134
+647 - Â - 135
+648 - Â - 136
+649 - Â - 137
+650 - Â - 138
+651 - Â - 139
+652 - Â - 140
+653 - Â - 141
+654 - Â - 142
+655 - Â - 143
+656 - Â - 144
+657 - Â - 145
+658 - Â - 146
+659 - Â - 147
+660 - Â - 148
+661 - Â - 149
+662 - Â - 150
+663 - Â - 151
+664 - Â - 152
+665 - Â - 153
+666 - Â - 154
+667 - Â - 155
+668 - Â - 156
+669 - Â - 157
+670 - Â - 158
+671 - Â - 159
+672 - Â - 160
+673 - ¡ - 161
+674 - ¢ - 162
+675 - £ - 163
+676 - ¤ - 164
+677 - ¥ - 165
+678 - ¦ - 166
+679 - § - 167
+680 - ¨ - 168
+681 - © - 169
+682 - ª - 170
+683 - « - 171
+684 - ¬ - 172
+685 - Â - 173
+686 - ® - 174
+687 - ¯ - 175
+688 - ° - 176
+689 - ± - 177
+690 - ² - 178
+691 - ³ - 179
+692 - ´ - 180
+693 - µ - 181
+694 - ¶ - 182
+695 - · - 183
+696 - ¸ - 184
+697 - ¹ - 185
+698 - º - 186
+699 - » - 187
+700 - ¼ - 188
+701 - ½ - 189
+702 - ¾ - 190
+703 - ¿ - 191
+704 - Ã - 192
+705 - Ã - 193
+706 - Ã - 194
+707 - Ã - 195
+708 - Ã - 196
+709 - Ã
- 197
+710 - Ã - 198
+711 - Ã - 199
+712 - Ã - 200
+713 - Ã - 201
+714 - Ã - 202
+715 - Ã - 203
+716 - Ã - 204
+717 - Ã - 205
+718 - Ã - 206
+719 - Ã - 207
+720 - Ã - 208
+721 - Ã - 209
+722 - Ã - 210
+723 - Ã - 211
+724 - Ã - 212
+725 - Ã - 213
+726 - Ã - 214
+727 - Ã - 215
+728 - Ã - 216
+729 - Ã - 217
+730 - Ã - 218
+731 - Ã - 219
+732 - Ã - 220
+733 - Ã - 221
+734 - Ã - 222
+735 - Ã - 223
+736 - Ã - 224
+737 - á - 225
+738 - â - 226
+739 - ã - 227
+740 - ä - 228
+741 - å - 229
+742 - æ - 230
+743 - ç - 231
+744 - è - 232
+745 - é - 233
+746 - ê - 234
+747 - ë - 235
+748 - ì - 236
+749 - Ã - 237
+750 - î - 238
+751 - ï - 239
+752 - ð - 240
+753 - ñ - 241
+754 - ò - 242
+755 - ó - 243
+756 - ô - 244
+757 - õ - 245
+758 - ö - 246
+759 - ÷ - 247
+760 - ø - 248
+761 - ù - 249
+762 - ú - 250
+763 - û - 251
+764 - ü - 252
+765 - ý - 253
+766 - þ - 254
+767 - ÿ - 255
+768 - - 0
+769 - - 1
+770 - - 2
+771 - - 3
+772 - - 4
+773 - - 5
+774 - - 6
+775 - - 7
+776 - - 8
+777 - - 9
+778 -
+ - 10
+779 - - 11
+780 - - 12
+781 -
- 13
+782 - - 14
+783 - - 15
+784 - - 16
+785 - - 17
+786 - - 18
+787 - - 19
+788 - - 20
+789 - - 21
+790 - - 22
+791 - - 23
+792 - - 24
+793 - - 25
+794 - - 26
+795 - - 27
+796 - - 28
+797 - - 29
+798 - - 30
+799 - - 31
+800 - - 32
+801 - ! - 33
+802 - " - 34
+803 - # - 35
+804 - $ - 36
+805 - % - 37
+806 - & - 38
+807 - ' - 39
+808 - ( - 40
+809 - ) - 41
+810 - * - 42
+811 - + - 43
+812 - , - 44
+813 - - - 45
+814 - . - 46
+815 - / - 47
+816 - 0 - 48
+817 - 1 - 49
+818 - 2 - 50
+819 - 3 - 51
+820 - 4 - 52
+821 - 5 - 53
+822 - 6 - 54
+823 - 7 - 55
+824 - 8 - 56
+825 - 9 - 57
+826 - : - 58
+827 - ; - 59
+828 - < - 60
+829 - = - 61
+830 - > - 62
+831 - ? - 63
+832 - @ - 64
+833 - A - 65
+834 - B - 66
+835 - C - 67
+836 - D - 68
+837 - E - 69
+838 - F - 70
+839 - G - 71
+840 - H - 72
+841 - I - 73
+842 - J - 74
+843 - K - 75
+844 - L - 76
+845 - M - 77
+846 - N - 78
+847 - O - 79
+848 - P - 80
+849 - Q - 81
+850 - R - 82
+851 - S - 83
+852 - T - 84
+853 - U - 85
+854 - V - 86
+855 - W - 87
+856 - X - 88
+857 - Y - 89
+858 - Z - 90
+859 - [ - 91
+860 - \ - 92
+861 - ] - 93
+862 - ^ - 94
+863 - _ - 95
+864 - ` - 96
+865 - a - 97
+866 - b - 98
+867 - c - 99
+868 - d - 100
+869 - e - 101
+870 - f - 102
+871 - g - 103
+872 - h - 104
+873 - i - 105
+874 - j - 106
+875 - k - 107
+876 - l - 108
+877 - m - 109
+878 - n - 110
+879 - o - 111
+880 - p - 112
+881 - q - 113
+882 - r - 114
+883 - s - 115
+884 - t - 116
+885 - u - 117
+886 - v - 118
+887 - w - 119
+888 - x - 120
+889 - y - 121
+890 - z - 122
+891 - { - 123
+892 - | - 124
+893 - } - 125
+894 - ~ - 126
+895 - - 127
+896 - Â - 128
+897 - Â - 129
+898 - Â - 130
+899 - Â - 131
+900 - Â - 132
+901 - Â
- 133
+902 - Â - 134
+903 - Â - 135
+904 - Â - 136
+905 - Â - 137
+906 - Â - 138
+907 - Â - 139
+908 - Â - 140
+909 - Â - 141
+910 - Â - 142
+911 - Â - 143
+912 - Â - 144
+913 - Â - 145
+914 - Â - 146
+915 - Â - 147
+916 - Â - 148
+917 - Â - 149
+918 - Â - 150
+919 - Â - 151
+920 - Â - 152
+921 - Â - 153
+922 - Â - 154
+923 - Â - 155
+924 - Â - 156
+925 - Â - 157
+926 - Â - 158
+927 - Â - 159
+928 - Â - 160
+929 - ¡ - 161
+930 - ¢ - 162
+931 - £ - 163
+932 - ¤ - 164
+933 - ¥ - 165
+934 - ¦ - 166
+935 - § - 167
+936 - ¨ - 168
+937 - © - 169
+938 - ª - 170
+939 - « - 171
+940 - ¬ - 172
+941 - Â - 173
+942 - ® - 174
+943 - ¯ - 175
+944 - ° - 176
+945 - ± - 177
+946 - ² - 178
+947 - ³ - 179
+948 - ´ - 180
+949 - µ - 181
+950 - ¶ - 182
+951 - · - 183
+952 - ¸ - 184
+953 - ¹ - 185
+954 - º - 186
+955 - » - 187
+956 - ¼ - 188
+957 - ½ - 189
+958 - ¾ - 190
+959 - ¿ - 191
+960 - Ã - 192
+961 - Ã - 193
+962 - Ã - 194
+963 - Ã - 195
+964 - Ã - 196
+965 - Ã
- 197
+966 - Ã - 198
+967 - Ã - 199
+968 - Ã - 200
+969 - Ã - 201
+970 - Ã - 202
+971 - Ã - 203
+972 - Ã - 204
+973 - Ã - 205
+974 - Ã - 206
+975 - Ã - 207
+976 - Ã - 208
+977 - Ã - 209
+978 - Ã - 210
+979 - Ã - 211
+980 - Ã - 212
+981 - Ã - 213
+982 - Ã - 214
+983 - Ã - 215
+984 - Ã - 216
+985 - Ã - 217
+986 - Ã - 218
+987 - Ã - 219
+988 - Ã - 220
+989 - Ã - 221
+990 - Ã - 222
+991 - Ã - 223
+992 - Ã - 224
+993 - á - 225
+994 - â - 226
+995 - ã - 227
+996 - ä - 228
+997 - å - 229
+998 - æ - 230
+999 - ç - 231
+195
+195
+195
+195
+195
+195
diff --git a/test/trace/chartoascii-6.swf b/test/trace/chartoascii-6.swf
new file mode 100644
index 0000000..e1cbab7
Binary files /dev/null and b/test/trace/chartoascii-6.swf differ
diff --git a/test/trace/chartoascii-6.swf.trace b/test/trace/chartoascii-6.swf.trace
new file mode 100644
index 0000000..5dd3b36
--- /dev/null
+++ b/test/trace/chartoascii-6.swf.trace
@@ -0,0 +1,1008 @@
+CharToAscii testcase
+0 - - 0
+1 - - 1
+2 - - 2
+3 - - 3
+4 - - 4
+5 - - 5
+6 - - 6
+7 - - 7
+8 - - 8
+9 - - 9
+10 -
+ - 10
+11 - - 11
+12 - - 12
+13 -
- 13
+14 - - 14
+15 - - 15
+16 - - 16
+17 - - 17
+18 - - 18
+19 - - 19
+20 - - 20
+21 - - 21
+22 - - 22
+23 - - 23
+24 - - 24
+25 - - 25
+26 - - 26
+27 - - 27
+28 - - 28
+29 - - 29
+30 - - 30
+31 - - 31
+32 - - 32
+33 - ! - 33
+34 - " - 34
+35 - # - 35
+36 - $ - 36
+37 - % - 37
+38 - & - 38
+39 - ' - 39
+40 - ( - 40
+41 - ) - 41
+42 - * - 42
+43 - + - 43
+44 - , - 44
+45 - - - 45
+46 - . - 46
+47 - / - 47
+48 - 0 - 48
+49 - 1 - 49
+50 - 2 - 50
+51 - 3 - 51
+52 - 4 - 52
+53 - 5 - 53
+54 - 6 - 54
+55 - 7 - 55
+56 - 8 - 56
+57 - 9 - 57
+58 - : - 58
+59 - ; - 59
+60 - < - 60
+61 - = - 61
+62 - > - 62
+63 - ? - 63
+64 - @ - 64
+65 - A - 65
+66 - B - 66
+67 - C - 67
+68 - D - 68
+69 - E - 69
+70 - F - 70
+71 - G - 71
+72 - H - 72
+73 - I - 73
+74 - J - 74
+75 - K - 75
+76 - L - 76
+77 - M - 77
+78 - N - 78
+79 - O - 79
+80 - P - 80
+81 - Q - 81
+82 - R - 82
+83 - S - 83
+84 - T - 84
+85 - U - 85
+86 - V - 86
+87 - W - 87
+88 - X - 88
+89 - Y - 89
+90 - Z - 90
+91 - [ - 91
+92 - \ - 92
+93 - ] - 93
+94 - ^ - 94
+95 - _ - 95
+96 - ` - 96
+97 - a - 97
+98 - b - 98
+99 - c - 99
+100 - d - 100
+101 - e - 101
+102 - f - 102
+103 - g - 103
+104 - h - 104
+105 - i - 105
+106 - j - 106
+107 - k - 107
+108 - l - 108
+109 - m - 109
+110 - n - 110
+111 - o - 111
+112 - p - 112
+113 - q - 113
+114 - r - 114
+115 - s - 115
+116 - t - 116
+117 - u - 117
+118 - v - 118
+119 - w - 119
+120 - x - 120
+121 - y - 121
+122 - z - 122
+123 - { - 123
+124 - | - 124
+125 - } - 125
+126 - ~ - 126
+127 - - 127
+128 - Â - 128
+129 - Â - 129
+130 - Â - 130
+131 - Â - 131
+132 - Â - 132
+133 - Â
- 133
+134 - Â - 134
+135 - Â - 135
+136 - Â - 136
+137 - Â - 137
+138 - Â - 138
+139 - Â - 139
+140 - Â - 140
+141 - Â - 141
+142 - Â - 142
+143 - Â - 143
+144 - Â - 144
+145 - Â - 145
+146 - Â - 146
+147 - Â - 147
+148 - Â - 148
+149 - Â - 149
+150 - Â - 150
+151 - Â - 151
+152 - Â - 152
+153 - Â - 153
+154 - Â - 154
+155 - Â - 155
+156 - Â - 156
+157 - Â - 157
+158 - Â - 158
+159 - Â - 159
+160 - Â - 160
+161 - ¡ - 161
+162 - ¢ - 162
+163 - £ - 163
+164 - ¤ - 164
+165 - ¥ - 165
+166 - ¦ - 166
+167 - § - 167
+168 - ¨ - 168
+169 - © - 169
+170 - ª - 170
+171 - « - 171
+172 - ¬ - 172
+173 - Â - 173
+174 - ® - 174
+175 - ¯ - 175
+176 - ° - 176
+177 - ± - 177
+178 - ² - 178
+179 - ³ - 179
+180 - ´ - 180
+181 - µ - 181
+182 - ¶ - 182
+183 - · - 183
+184 - ¸ - 184
+185 - ¹ - 185
+186 - º - 186
+187 - » - 187
+188 - ¼ - 188
+189 - ½ - 189
+190 - ¾ - 190
+191 - ¿ - 191
+192 - Ã - 192
+193 - Ã - 193
+194 - Ã - 194
+195 - Ã - 195
+196 - Ã - 196
+197 - Ã
- 197
+198 - Ã - 198
+199 - Ã - 199
+200 - Ã - 200
+201 - Ã - 201
+202 - Ã - 202
+203 - Ã - 203
+204 - Ã - 204
+205 - Ã - 205
+206 - Ã - 206
+207 - Ã - 207
+208 - Ã - 208
+209 - Ã - 209
+210 - Ã - 210
+211 - Ã - 211
+212 - Ã - 212
+213 - Ã - 213
+214 - Ã - 214
+215 - Ã - 215
+216 - Ã - 216
+217 - Ã - 217
+218 - Ã - 218
+219 - Ã - 219
+220 - Ã - 220
+221 - Ã - 221
+222 - Ã - 222
+223 - Ã - 223
+224 - Ã - 224
+225 - á - 225
+226 - â - 226
+227 - ã - 227
+228 - ä - 228
+229 - å - 229
+230 - æ - 230
+231 - ç - 231
+232 - è - 232
+233 - é - 233
+234 - ê - 234
+235 - ë - 235
+236 - ì - 236
+237 - Ã - 237
+238 - î - 238
+239 - ï - 239
+240 - ð - 240
+241 - ñ - 241
+242 - ò - 242
+243 - ó - 243
+244 - ô - 244
+245 - õ - 245
+246 - ö - 246
+247 - ÷ - 247
+248 - ø - 248
+249 - ù - 249
+250 - ú - 250
+251 - û - 251
+252 - ü - 252
+253 - ý - 253
+254 - þ - 254
+255 - ÿ - 255
+256 - Ä - 256
+257 - Ä - 257
+258 - Ä - 258
+259 - Ä - 259
+260 - Ä - 260
+261 - Ä
- 261
+262 - Ä - 262
+263 - Ä - 263
+264 - Ä - 264
+265 - Ä - 265
+266 - Ä - 266
+267 - Ä - 267
+268 - Ä - 268
+269 - Ä - 269
+270 - Ä - 270
+271 - Ä - 271
+272 - Ä - 272
+273 - Ä - 273
+274 - Ä - 274
+275 - Ä - 275
+276 - Ä - 276
+277 - Ä - 277
+278 - Ä - 278
+279 - Ä - 279
+280 - Ä - 280
+281 - Ä - 281
+282 - Ä - 282
+283 - Ä - 283
+284 - Ä - 284
+285 - Ä - 285
+286 - Ä - 286
+287 - Ä - 287
+288 - Ä - 288
+289 - Ä¡ - 289
+290 - Ģ - 290
+291 - ģ - 291
+292 - Ĥ - 292
+293 - ĥ - 293
+294 - Ħ - 294
+295 - ħ - 295
+296 - Ĩ - 296
+297 - Ä© - 297
+298 - Ī - 298
+299 - Ä« - 299
+300 - Ĭ - 300
+301 - Ä - 301
+302 - Ä® - 302
+303 - į - 303
+304 - Ä° - 304
+305 - ı - 305
+306 - IJ - 306
+307 - ij - 307
+308 - Ä´ - 308
+309 - ĵ - 309
+310 - Ķ - 310
+311 - Ä· - 311
+312 - ĸ - 312
+313 - Ĺ - 313
+314 - ĺ - 314
+315 - Ä» - 315
+316 - ļ - 316
+317 - Ľ - 317
+318 - ľ - 318
+319 - Ä¿ - 319
+320 - Å - 320
+321 - Å - 321
+322 - Å - 322
+323 - Å - 323
+324 - Å - 324
+325 - Å
- 325
+326 - Å - 326
+327 - Å - 327
+328 - Å - 328
+329 - Å - 329
+330 - Å - 330
+331 - Å - 331
+332 - Å - 332
+333 - Å - 333
+334 - Å - 334
+335 - Å - 335
+336 - Å - 336
+337 - Å - 337
+338 - Å - 338
+339 - Å - 339
+340 - Å - 340
+341 - Å - 341
+342 - Å - 342
+343 - Å - 343
+344 - Å - 344
+345 - Å - 345
+346 - Å - 346
+347 - Å - 347
+348 - Å - 348
+349 - Å - 349
+350 - Å - 350
+351 - Å - 351
+352 - Å - 352
+353 - Å¡ - 353
+354 - Ţ - 354
+355 - ţ - 355
+356 - Ť - 356
+357 - ť - 357
+358 - Ŧ - 358
+359 - ŧ - 359
+360 - Ũ - 360
+361 - Å© - 361
+362 - Ū - 362
+363 - Å« - 363
+364 - Ŭ - 364
+365 - Å - 365
+366 - Å® - 366
+367 - ů - 367
+368 - Å° - 368
+369 - ű - 369
+370 - Ų - 370
+371 - ų - 371
+372 - Å´ - 372
+373 - ŵ - 373
+374 - Ŷ - 374
+375 - Å· - 375
+376 - Ÿ - 376
+377 - Ź - 377
+378 - ź - 378
+379 - Å» - 379
+380 - ż - 380
+381 - Ž - 381
+382 - ž - 382
+383 - Å¿ - 383
+384 - Æ - 384
+385 - Æ - 385
+386 - Æ - 386
+387 - Æ - 387
+388 - Æ - 388
+389 - Æ
- 389
+390 - Æ - 390
+391 - Æ - 391
+392 - Æ - 392
+393 - Æ - 393
+394 - Æ - 394
+395 - Æ - 395
+396 - Æ - 396
+397 - Æ - 397
+398 - Æ - 398
+399 - Æ - 399
+400 - Æ - 400
+401 - Æ - 401
+402 - Æ - 402
+403 - Æ - 403
+404 - Æ - 404
+405 - Æ - 405
+406 - Æ - 406
+407 - Æ - 407
+408 - Æ - 408
+409 - Æ - 409
+410 - Æ - 410
+411 - Æ - 411
+412 - Æ - 412
+413 - Æ - 413
+414 - Æ - 414
+415 - Æ - 415
+416 - Æ - 416
+417 - Æ¡ - 417
+418 - Ƣ - 418
+419 - ƣ - 419
+420 - Ƥ - 420
+421 - ƥ - 421
+422 - Ʀ - 422
+423 - Ƨ - 423
+424 - ƨ - 424
+425 - Æ© - 425
+426 - ƪ - 426
+427 - Æ« - 427
+428 - Ƭ - 428
+429 - Æ - 429
+430 - Æ® - 430
+431 - Ư - 431
+432 - Æ° - 432
+433 - Ʊ - 433
+434 - Ʋ - 434
+435 - Ƴ - 435
+436 - Æ´ - 436
+437 - Ƶ - 437
+438 - ƶ - 438
+439 - Æ· - 439
+440 - Ƹ - 440
+441 - ƹ - 441
+442 - ƺ - 442
+443 - Æ» - 443
+444 - Ƽ - 444
+445 - ƽ - 445
+446 - ƾ - 446
+447 - Æ¿ - 447
+448 - Ç - 448
+449 - Ç - 449
+450 - Ç - 450
+451 - Ç - 451
+452 - Ç - 452
+453 - Ç
- 453
+454 - Ç - 454
+455 - Ç - 455
+456 - Ç - 456
+457 - Ç - 457
+458 - Ç - 458
+459 - Ç - 459
+460 - Ç - 460
+461 - Ç - 461
+462 - Ç - 462
+463 - Ç - 463
+464 - Ç - 464
+465 - Ç - 465
+466 - Ç - 466
+467 - Ç - 467
+468 - Ç - 468
+469 - Ç - 469
+470 - Ç - 470
+471 - Ç - 471
+472 - Ç - 472
+473 - Ç - 473
+474 - Ç - 474
+475 - Ç - 475
+476 - Ç - 476
+477 - Ç - 477
+478 - Ç - 478
+479 - Ç - 479
+480 - Ç - 480
+481 - Ç¡ - 481
+482 - Ǣ - 482
+483 - ǣ - 483
+484 - Ǥ - 484
+485 - ǥ - 485
+486 - Ǧ - 486
+487 - ǧ - 487
+488 - Ǩ - 488
+489 - Ç© - 489
+490 - Ǫ - 490
+491 - Ç« - 491
+492 - Ǭ - 492
+493 - Ç - 493
+494 - Ç® - 494
+495 - ǯ - 495
+496 - Ç° - 496
+497 - DZ - 497
+498 - Dz - 498
+499 - dz - 499
+500 - Ç´ - 500
+501 - ǵ - 501
+502 - Ƕ - 502
+503 - Ç· - 503
+504 - Ǹ - 504
+505 - ǹ - 505
+506 - Ǻ - 506
+507 - Ç» - 507
+508 - Ǽ - 508
+509 - ǽ - 509
+510 - Ǿ - 510
+511 - Ç¿ - 511
+512 - È - 512
+513 - È - 513
+514 - È - 514
+515 - È - 515
+516 - È - 516
+517 - È
- 517
+518 - È - 518
+519 - È - 519
+520 - È - 520
+521 - È - 521
+522 - È - 522
+523 - È - 523
+524 - È - 524
+525 - È - 525
+526 - È - 526
+527 - È - 527
+528 - È - 528
+529 - È - 529
+530 - È - 530
+531 - È - 531
+532 - È - 532
+533 - È - 533
+534 - È - 534
+535 - È - 535
+536 - È - 536
+537 - È - 537
+538 - È - 538
+539 - È - 539
+540 - È - 540
+541 - È - 541
+542 - È - 542
+543 - È - 543
+544 - È - 544
+545 - È¡ - 545
+546 - Ȣ - 546
+547 - ȣ - 547
+548 - Ȥ - 548
+549 - ȥ - 549
+550 - Ȧ - 550
+551 - ȧ - 551
+552 - Ȩ - 552
+553 - È© - 553
+554 - Ȫ - 554
+555 - È« - 555
+556 - Ȭ - 556
+557 - È - 557
+558 - È® - 558
+559 - ȯ - 559
+560 - È° - 560
+561 - ȱ - 561
+562 - Ȳ - 562
+563 - ȳ - 563
+564 - È´ - 564
+565 - ȵ - 565
+566 - ȶ - 566
+567 - È· - 567
+568 - ȸ - 568
+569 - ȹ - 569
+570 - Ⱥ - 570
+571 - È» - 571
+572 - ȼ - 572
+573 - Ƚ - 573
+574 - Ⱦ - 574
+575 - È¿ - 575
+576 - É - 576
+577 - É - 577
+578 - É - 578
+579 - É - 579
+580 - É - 580
+581 - É
- 581
+582 - É - 582
+583 - É - 583
+584 - É - 584
+585 - É - 585
+586 - É - 586
+587 - É - 587
+588 - É - 588
+589 - É - 589
+590 - É - 590
+591 - É - 591
+592 - É - 592
+593 - É - 593
+594 - É - 594
+595 - É - 595
+596 - É - 596
+597 - É - 597
+598 - É - 598
+599 - É - 599
+600 - É - 600
+601 - É - 601
+602 - É - 602
+603 - É - 603
+604 - É - 604
+605 - É - 605
+606 - É - 606
+607 - É - 607
+608 - É - 608
+609 - É¡ - 609
+610 - ɢ - 610
+611 - ɣ - 611
+612 - ɤ - 612
+613 - ɥ - 613
+614 - ɦ - 614
+615 - ɧ - 615
+616 - ɨ - 616
+617 - É© - 617
+618 - ɪ - 618
+619 - É« - 619
+620 - ɬ - 620
+621 - É - 621
+622 - É® - 622
+623 - ɯ - 623
+624 - É° - 624
+625 - ɱ - 625
+626 - ɲ - 626
+627 - ɳ - 627
+628 - É´ - 628
+629 - ɵ - 629
+630 - ɶ - 630
+631 - É· - 631
+632 - ɸ - 632
+633 - ɹ - 633
+634 - ɺ - 634
+635 - É» - 635
+636 - ɼ - 636
+637 - ɽ - 637
+638 - ɾ - 638
+639 - É¿ - 639
+640 - Ê - 640
+641 - Ê - 641
+642 - Ê - 642
+643 - Ê - 643
+644 - Ê - 644
+645 - Ê
- 645
+646 - Ê - 646
+647 - Ê - 647
+648 - Ê - 648
+649 - Ê - 649
+650 - Ê - 650
+651 - Ê - 651
+652 - Ê - 652
+653 - Ê - 653
+654 - Ê - 654
+655 - Ê - 655
+656 - Ê - 656
+657 - Ê - 657
+658 - Ê - 658
+659 - Ê - 659
+660 - Ê - 660
+661 - Ê - 661
+662 - Ê - 662
+663 - Ê - 663
+664 - Ê - 664
+665 - Ê - 665
+666 - Ê - 666
+667 - Ê - 667
+668 - Ê - 668
+669 - Ê - 669
+670 - Ê - 670
+671 - Ê - 671
+672 - Ê - 672
+673 - Ê¡ - 673
+674 - ʢ - 674
+675 - ʣ - 675
+676 - ʤ - 676
+677 - ʥ - 677
+678 - ʦ - 678
+679 - ʧ - 679
+680 - ʨ - 680
+681 - Ê© - 681
+682 - ʪ - 682
+683 - Ê« - 683
+684 - ʬ - 684
+685 - Ê - 685
+686 - Ê® - 686
+687 - ʯ - 687
+688 - Ê° - 688
+689 - ʱ - 689
+690 - ʲ - 690
+691 - ʳ - 691
+692 - Ê´ - 692
+693 - ʵ - 693
+694 - ʶ - 694
+695 - Ê· - 695
+696 - ʸ - 696
+697 - ʹ - 697
+698 - ʺ - 698
+699 - Ê» - 699
+700 - ʼ - 700
+701 - ʽ - 701
+702 - ʾ - 702
+703 - Ê¿ - 703
+704 - Ë - 704
+705 - Ë - 705
+706 - Ë - 706
+707 - Ë - 707
+708 - Ë - 708
+709 - Ë
- 709
+710 - Ë - 710
+711 - Ë - 711
+712 - Ë - 712
+713 - Ë - 713
+714 - Ë - 714
+715 - Ë - 715
+716 - Ë - 716
+717 - Ë - 717
+718 - Ë - 718
+719 - Ë - 719
+720 - Ë - 720
+721 - Ë - 721
+722 - Ë - 722
+723 - Ë - 723
+724 - Ë - 724
+725 - Ë - 725
+726 - Ë - 726
+727 - Ë - 727
+728 - Ë - 728
+729 - Ë - 729
+730 - Ë - 730
+731 - Ë - 731
+732 - Ë - 732
+733 - Ë - 733
+734 - Ë - 734
+735 - Ë - 735
+736 - Ë - 736
+737 - Ë¡ - 737
+738 - ˢ - 738
+739 - ˣ - 739
+740 - ˤ - 740
+741 - ˥ - 741
+742 - ˦ - 742
+743 - ˧ - 743
+744 - ˨ - 744
+745 - Ë© - 745
+746 - ˪ - 746
+747 - Ë« - 747
+748 - ˬ - 748
+749 - Ë - 749
+750 - Ë® - 750
+751 - ˯ - 751
+752 - Ë° - 752
+753 - ˱ - 753
+754 - ˲ - 754
+755 - ˳ - 755
+756 - Ë´ - 756
+757 - ˵ - 757
+758 - ˶ - 758
+759 - Ë· - 759
+760 - ˸ - 760
+761 - ˹ - 761
+762 - ˺ - 762
+763 - Ë» - 763
+764 - ˼ - 764
+765 - ˽ - 765
+766 - ˾ - 766
+767 - Ë¿ - 767
+768 - Ì - 768
+769 - Ì - 769
+770 - Ì - 770
+771 - Ì - 771
+772 - Ì - 772
+773 - Ì
- 773
+774 - Ì - 774
+775 - Ì - 775
+776 - Ì - 776
+777 - Ì - 777
+778 - Ì - 778
+779 - Ì - 779
+780 - Ì - 780
+781 - Ì - 781
+782 - Ì - 782
+783 - Ì - 783
+784 - Ì - 784
+785 - Ì - 785
+786 - Ì - 786
+787 - Ì - 787
+788 - Ì - 788
+789 - Ì - 789
+790 - Ì - 790
+791 - Ì - 791
+792 - Ì - 792
+793 - Ì - 793
+794 - Ì - 794
+795 - Ì - 795
+796 - Ì - 796
+797 - Ì - 797
+798 - Ì - 798
+799 - Ì - 799
+800 - Ì - 800
+801 - Ì¡ - 801
+802 - ̢ - 802
+803 - ̣ - 803
+804 - ̤ - 804
+805 - ̥ - 805
+806 - ̦ - 806
+807 - ̧ - 807
+808 - ̨ - 808
+809 - Ì© - 809
+810 - ̪ - 810
+811 - Ì« - 811
+812 - ̬ - 812
+813 - Ì - 813
+814 - Ì® - 814
+815 - ̯ - 815
+816 - Ì° - 816
+817 - ̱ - 817
+818 - ̲ - 818
+819 - ̳ - 819
+820 - Ì´ - 820
+821 - ̵ - 821
+822 - ̶ - 822
+823 - Ì· - 823
+824 - ̸ - 824
+825 - ̹ - 825
+826 - ̺ - 826
+827 - Ì» - 827
+828 - ̼ - 828
+829 - ̽ - 829
+830 - ̾ - 830
+831 - Ì¿ - 831
+832 - Í - 832
+833 - Í - 833
+834 - Í - 834
+835 - Í - 835
+836 - Í - 836
+837 - Í
- 837
+838 - Í - 838
+839 - Í - 839
+840 - Í - 840
+841 - Í - 841
+842 - Í - 842
+843 - Í - 843
+844 - Í - 844
+845 - Í - 845
+846 - Í - 846
+847 - Í - 847
+848 - Í - 848
+849 - Í - 849
+850 - Í - 850
+851 - Í - 851
+852 - Í - 852
+853 - Í - 853
+854 - Í - 854
+855 - Í - 855
+856 - Í - 856
+857 - Í - 857
+858 - Í - 858
+859 - Í - 859
+860 - Í - 860
+861 - Í - 861
+862 - Í - 862
+863 - Í - 863
+864 - Í - 864
+865 - Í¡ - 865
+866 - ͢ - 866
+867 - ͣ - 867
+868 - ͤ - 868
+869 - ͥ - 869
+870 - ͦ - 870
+871 - ͧ - 871
+872 - ͨ - 872
+873 - Í© - 873
+874 - ͪ - 874
+875 - Í« - 875
+876 - ͬ - 876
+877 - Í - 877
+878 - Í® - 878
+879 - ͯ - 879
+880 - Í° - 880
+881 - ͱ - 881
+882 - Ͳ - 882
+883 - ͳ - 883
+884 - Í´ - 884
+885 - ͵ - 885
+886 - Ͷ - 886
+887 - Í· - 887
+888 - ͸ - 888
+889 - ͹ - 889
+890 - ͺ - 890
+891 - Í» - 891
+892 - ͼ - 892
+893 - ͽ - 893
+894 - ; - 894
+895 - Í¿ - 895
+896 - Î - 896
+897 - Î - 897
+898 - Î - 898
+899 - Î - 899
+900 - Î - 900
+901 - Î
- 901
+902 - Î - 902
+903 - Î - 903
+904 - Î - 904
+905 - Î - 905
+906 - Î - 906
+907 - Î - 907
+908 - Î - 908
+909 - Î - 909
+910 - Î - 910
+911 - Î - 911
+912 - Î - 912
+913 - Î - 913
+914 - Î - 914
+915 - Î - 915
+916 - Î - 916
+917 - Î - 917
+918 - Î - 918
+919 - Î - 919
+920 - Î - 920
+921 - Î - 921
+922 - Î - 922
+923 - Î - 923
+924 - Î - 924
+925 - Î - 925
+926 - Î - 926
+927 - Î - 927
+928 - Î - 928
+929 - Ρ - 929
+930 - ΢ - 930
+931 - Σ - 931
+932 - Τ - 932
+933 - Υ - 933
+934 - Φ - 934
+935 - Χ - 935
+936 - Ψ - 936
+937 - Ω - 937
+938 - Ϊ - 938
+939 - Ϋ - 939
+940 - ά - 940
+941 - Î - 941
+942 - ή - 942
+943 - ί - 943
+944 - ΰ - 944
+945 - α - 945
+946 - β - 946
+947 - γ - 947
+948 - δ - 948
+949 - ε - 949
+950 - ζ - 950
+951 - η - 951
+952 - θ - 952
+953 - ι - 953
+954 - κ - 954
+955 - λ - 955
+956 - μ - 956
+957 - ν - 957
+958 - ξ - 958
+959 - ο - 959
+960 - Ï - 960
+961 - Ï - 961
+962 - Ï - 962
+963 - Ï - 963
+964 - Ï - 964
+965 - Ï
- 965
+966 - Ï - 966
+967 - Ï - 967
+968 - Ï - 968
+969 - Ï - 969
+970 - Ï - 970
+971 - Ï - 971
+972 - Ï - 972
+973 - Ï - 973
+974 - Ï - 974
+975 - Ï - 975
+976 - Ï - 976
+977 - Ï - 977
+978 - Ï - 978
+979 - Ï - 979
+980 - Ï - 980
+981 - Ï - 981
+982 - Ï - 982
+983 - Ï - 983
+984 - Ï - 984
+985 - Ï - 985
+986 - Ï - 986
+987 - Ï - 987
+988 - Ï - 988
+989 - Ï - 989
+990 - Ï - 990
+991 - Ï - 991
+992 - Ï - 992
+993 - Ï¡ - 993
+994 - Ϣ - 994
+995 - ϣ - 995
+996 - Ϥ - 996
+997 - ϥ - 997
+998 - Ϧ - 998
+999 - ϧ - 999
+229
+228
+246
+197
+196
+214
diff --git a/test/trace/chartoascii-7.swf b/test/trace/chartoascii-7.swf
new file mode 100644
index 0000000..f2aede9
Binary files /dev/null and b/test/trace/chartoascii-7.swf differ
diff --git a/test/trace/chartoascii-7.swf.trace b/test/trace/chartoascii-7.swf.trace
new file mode 100644
index 0000000..5dd3b36
--- /dev/null
+++ b/test/trace/chartoascii-7.swf.trace
@@ -0,0 +1,1008 @@
+CharToAscii testcase
+0 - - 0
+1 - - 1
+2 - - 2
+3 - - 3
+4 - - 4
+5 - - 5
+6 - - 6
+7 - - 7
+8 - - 8
+9 - - 9
+10 -
+ - 10
+11 - - 11
+12 - - 12
+13 -
- 13
+14 - - 14
+15 - - 15
+16 - - 16
+17 - - 17
+18 - - 18
+19 - - 19
+20 - - 20
+21 - - 21
+22 - - 22
+23 - - 23
+24 - - 24
+25 - - 25
+26 - - 26
+27 - - 27
+28 - - 28
+29 - - 29
+30 - - 30
+31 - - 31
+32 - - 32
+33 - ! - 33
+34 - " - 34
+35 - # - 35
+36 - $ - 36
+37 - % - 37
+38 - & - 38
+39 - ' - 39
+40 - ( - 40
+41 - ) - 41
+42 - * - 42
+43 - + - 43
+44 - , - 44
+45 - - - 45
+46 - . - 46
+47 - / - 47
+48 - 0 - 48
+49 - 1 - 49
+50 - 2 - 50
+51 - 3 - 51
+52 - 4 - 52
+53 - 5 - 53
+54 - 6 - 54
+55 - 7 - 55
+56 - 8 - 56
+57 - 9 - 57
+58 - : - 58
+59 - ; - 59
+60 - < - 60
+61 - = - 61
+62 - > - 62
+63 - ? - 63
+64 - @ - 64
+65 - A - 65
+66 - B - 66
+67 - C - 67
+68 - D - 68
+69 - E - 69
+70 - F - 70
+71 - G - 71
+72 - H - 72
+73 - I - 73
+74 - J - 74
+75 - K - 75
+76 - L - 76
+77 - M - 77
+78 - N - 78
+79 - O - 79
+80 - P - 80
+81 - Q - 81
+82 - R - 82
+83 - S - 83
+84 - T - 84
+85 - U - 85
+86 - V - 86
+87 - W - 87
+88 - X - 88
+89 - Y - 89
+90 - Z - 90
+91 - [ - 91
+92 - \ - 92
+93 - ] - 93
+94 - ^ - 94
+95 - _ - 95
+96 - ` - 96
+97 - a - 97
+98 - b - 98
+99 - c - 99
+100 - d - 100
+101 - e - 101
+102 - f - 102
+103 - g - 103
+104 - h - 104
+105 - i - 105
+106 - j - 106
+107 - k - 107
+108 - l - 108
+109 - m - 109
+110 - n - 110
+111 - o - 111
+112 - p - 112
+113 - q - 113
+114 - r - 114
+115 - s - 115
+116 - t - 116
+117 - u - 117
+118 - v - 118
+119 - w - 119
+120 - x - 120
+121 - y - 121
+122 - z - 122
+123 - { - 123
+124 - | - 124
+125 - } - 125
+126 - ~ - 126
+127 - - 127
+128 - Â - 128
+129 - Â - 129
+130 - Â - 130
+131 - Â - 131
+132 - Â - 132
+133 - Â
- 133
+134 - Â - 134
+135 - Â - 135
+136 - Â - 136
+137 - Â - 137
+138 - Â - 138
+139 - Â - 139
+140 - Â - 140
+141 - Â - 141
+142 - Â - 142
+143 - Â - 143
+144 - Â - 144
+145 - Â - 145
+146 - Â - 146
+147 - Â - 147
+148 - Â - 148
+149 - Â - 149
+150 - Â - 150
+151 - Â - 151
+152 - Â - 152
+153 - Â - 153
+154 - Â - 154
+155 - Â - 155
+156 - Â - 156
+157 - Â - 157
+158 - Â - 158
+159 - Â - 159
+160 - Â - 160
+161 - ¡ - 161
+162 - ¢ - 162
+163 - £ - 163
+164 - ¤ - 164
+165 - ¥ - 165
+166 - ¦ - 166
+167 - § - 167
+168 - ¨ - 168
+169 - © - 169
+170 - ª - 170
+171 - « - 171
+172 - ¬ - 172
+173 - Â - 173
+174 - ® - 174
+175 - ¯ - 175
+176 - ° - 176
+177 - ± - 177
+178 - ² - 178
+179 - ³ - 179
+180 - ´ - 180
+181 - µ - 181
+182 - ¶ - 182
+183 - · - 183
+184 - ¸ - 184
+185 - ¹ - 185
+186 - º - 186
+187 - » - 187
+188 - ¼ - 188
+189 - ½ - 189
+190 - ¾ - 190
+191 - ¿ - 191
+192 - Ã - 192
+193 - Ã - 193
+194 - Ã - 194
+195 - Ã - 195
+196 - Ã - 196
+197 - Ã
- 197
+198 - Ã - 198
+199 - Ã - 199
+200 - Ã - 200
+201 - Ã - 201
+202 - Ã - 202
+203 - Ã - 203
+204 - Ã - 204
+205 - Ã - 205
+206 - Ã - 206
+207 - Ã - 207
+208 - Ã - 208
+209 - Ã - 209
+210 - Ã - 210
+211 - Ã - 211
+212 - Ã - 212
+213 - Ã - 213
+214 - Ã - 214
+215 - Ã - 215
+216 - Ã - 216
+217 - Ã - 217
+218 - Ã - 218
+219 - Ã - 219
+220 - Ã - 220
+221 - Ã - 221
+222 - Ã - 222
+223 - Ã - 223
+224 - Ã - 224
+225 - á - 225
+226 - â - 226
+227 - ã - 227
+228 - ä - 228
+229 - å - 229
+230 - æ - 230
+231 - ç - 231
+232 - è - 232
+233 - é - 233
+234 - ê - 234
+235 - ë - 235
+236 - ì - 236
+237 - Ã - 237
+238 - î - 238
+239 - ï - 239
+240 - ð - 240
+241 - ñ - 241
+242 - ò - 242
+243 - ó - 243
+244 - ô - 244
+245 - õ - 245
+246 - ö - 246
+247 - ÷ - 247
+248 - ø - 248
+249 - ù - 249
+250 - ú - 250
+251 - û - 251
+252 - ü - 252
+253 - ý - 253
+254 - þ - 254
+255 - ÿ - 255
+256 - Ä - 256
+257 - Ä - 257
+258 - Ä - 258
+259 - Ä - 259
+260 - Ä - 260
+261 - Ä
- 261
+262 - Ä - 262
+263 - Ä - 263
+264 - Ä - 264
+265 - Ä - 265
+266 - Ä - 266
+267 - Ä - 267
+268 - Ä - 268
+269 - Ä - 269
+270 - Ä - 270
+271 - Ä - 271
+272 - Ä - 272
+273 - Ä - 273
+274 - Ä - 274
+275 - Ä - 275
+276 - Ä - 276
+277 - Ä - 277
+278 - Ä - 278
+279 - Ä - 279
+280 - Ä - 280
+281 - Ä - 281
+282 - Ä - 282
+283 - Ä - 283
+284 - Ä - 284
+285 - Ä - 285
+286 - Ä - 286
+287 - Ä - 287
+288 - Ä - 288
+289 - Ä¡ - 289
+290 - Ģ - 290
+291 - ģ - 291
+292 - Ĥ - 292
+293 - ĥ - 293
+294 - Ħ - 294
+295 - ħ - 295
+296 - Ĩ - 296
+297 - Ä© - 297
+298 - Ī - 298
+299 - Ä« - 299
+300 - Ĭ - 300
+301 - Ä - 301
+302 - Ä® - 302
+303 - į - 303
+304 - Ä° - 304
+305 - ı - 305
+306 - IJ - 306
+307 - ij - 307
+308 - Ä´ - 308
+309 - ĵ - 309
+310 - Ķ - 310
+311 - Ä· - 311
+312 - ĸ - 312
+313 - Ĺ - 313
+314 - ĺ - 314
+315 - Ä» - 315
+316 - ļ - 316
+317 - Ľ - 317
+318 - ľ - 318
+319 - Ä¿ - 319
+320 - Å - 320
+321 - Å - 321
+322 - Å - 322
+323 - Å - 323
+324 - Å - 324
+325 - Å
- 325
+326 - Å - 326
+327 - Å - 327
+328 - Å - 328
+329 - Å - 329
+330 - Å - 330
+331 - Å - 331
+332 - Å - 332
+333 - Å - 333
+334 - Å - 334
+335 - Å - 335
+336 - Å - 336
+337 - Å - 337
+338 - Å - 338
+339 - Å - 339
+340 - Å - 340
+341 - Å - 341
+342 - Å - 342
+343 - Å - 343
+344 - Å - 344
+345 - Å - 345
+346 - Å - 346
+347 - Å - 347
+348 - Å - 348
+349 - Å - 349
+350 - Å - 350
+351 - Å - 351
+352 - Å - 352
+353 - Å¡ - 353
+354 - Ţ - 354
+355 - ţ - 355
+356 - Ť - 356
+357 - ť - 357
+358 - Ŧ - 358
+359 - ŧ - 359
+360 - Ũ - 360
+361 - Å© - 361
+362 - Ū - 362
+363 - Å« - 363
+364 - Ŭ - 364
+365 - Å - 365
+366 - Å® - 366
+367 - ů - 367
+368 - Å° - 368
+369 - ű - 369
+370 - Ų - 370
+371 - ų - 371
+372 - Å´ - 372
+373 - ŵ - 373
+374 - Ŷ - 374
+375 - Å· - 375
+376 - Ÿ - 376
+377 - Ź - 377
+378 - ź - 378
+379 - Å» - 379
+380 - ż - 380
+381 - Ž - 381
+382 - ž - 382
+383 - Å¿ - 383
+384 - Æ - 384
+385 - Æ - 385
+386 - Æ - 386
+387 - Æ - 387
+388 - Æ - 388
+389 - Æ
- 389
+390 - Æ - 390
+391 - Æ - 391
+392 - Æ - 392
+393 - Æ - 393
+394 - Æ - 394
+395 - Æ - 395
+396 - Æ - 396
+397 - Æ - 397
+398 - Æ - 398
+399 - Æ - 399
+400 - Æ - 400
+401 - Æ - 401
+402 - Æ - 402
+403 - Æ - 403
+404 - Æ - 404
+405 - Æ - 405
+406 - Æ - 406
+407 - Æ - 407
+408 - Æ - 408
+409 - Æ - 409
+410 - Æ - 410
+411 - Æ - 411
+412 - Æ - 412
+413 - Æ - 413
+414 - Æ - 414
+415 - Æ - 415
+416 - Æ - 416
+417 - Æ¡ - 417
+418 - Ƣ - 418
+419 - ƣ - 419
+420 - Ƥ - 420
+421 - ƥ - 421
+422 - Ʀ - 422
+423 - Ƨ - 423
+424 - ƨ - 424
+425 - Æ© - 425
+426 - ƪ - 426
+427 - Æ« - 427
+428 - Ƭ - 428
+429 - Æ - 429
+430 - Æ® - 430
+431 - Ư - 431
+432 - Æ° - 432
+433 - Ʊ - 433
+434 - Ʋ - 434
+435 - Ƴ - 435
+436 - Æ´ - 436
+437 - Ƶ - 437
+438 - ƶ - 438
+439 - Æ· - 439
+440 - Ƹ - 440
+441 - ƹ - 441
+442 - ƺ - 442
+443 - Æ» - 443
+444 - Ƽ - 444
+445 - ƽ - 445
+446 - ƾ - 446
+447 - Æ¿ - 447
+448 - Ç - 448
+449 - Ç - 449
+450 - Ç - 450
+451 - Ç - 451
+452 - Ç - 452
+453 - Ç
- 453
+454 - Ç - 454
+455 - Ç - 455
+456 - Ç - 456
+457 - Ç - 457
+458 - Ç - 458
+459 - Ç - 459
+460 - Ç - 460
+461 - Ç - 461
+462 - Ç - 462
+463 - Ç - 463
+464 - Ç - 464
+465 - Ç - 465
+466 - Ç - 466
+467 - Ç - 467
+468 - Ç - 468
+469 - Ç - 469
+470 - Ç - 470
+471 - Ç - 471
+472 - Ç - 472
+473 - Ç - 473
+474 - Ç - 474
+475 - Ç - 475
+476 - Ç - 476
+477 - Ç - 477
+478 - Ç - 478
+479 - Ç - 479
+480 - Ç - 480
+481 - Ç¡ - 481
+482 - Ǣ - 482
+483 - ǣ - 483
+484 - Ǥ - 484
+485 - ǥ - 485
+486 - Ǧ - 486
+487 - ǧ - 487
+488 - Ǩ - 488
+489 - Ç© - 489
+490 - Ǫ - 490
+491 - Ç« - 491
+492 - Ǭ - 492
+493 - Ç - 493
+494 - Ç® - 494
+495 - ǯ - 495
+496 - Ç° - 496
+497 - DZ - 497
+498 - Dz - 498
+499 - dz - 499
+500 - Ç´ - 500
+501 - ǵ - 501
+502 - Ƕ - 502
+503 - Ç· - 503
+504 - Ǹ - 504
+505 - ǹ - 505
+506 - Ǻ - 506
+507 - Ç» - 507
+508 - Ǽ - 508
+509 - ǽ - 509
+510 - Ǿ - 510
+511 - Ç¿ - 511
+512 - È - 512
+513 - È - 513
+514 - È - 514
+515 - È - 515
+516 - È - 516
+517 - È
- 517
+518 - È - 518
+519 - È - 519
+520 - È - 520
+521 - È - 521
+522 - È - 522
+523 - È - 523
+524 - È - 524
+525 - È - 525
+526 - È - 526
+527 - È - 527
+528 - È - 528
+529 - È - 529
+530 - È - 530
+531 - È - 531
+532 - È - 532
+533 - È - 533
+534 - È - 534
+535 - È - 535
+536 - È - 536
+537 - È - 537
+538 - È - 538
+539 - È - 539
+540 - È - 540
+541 - È - 541
+542 - È - 542
+543 - È - 543
+544 - È - 544
+545 - È¡ - 545
+546 - Ȣ - 546
+547 - ȣ - 547
+548 - Ȥ - 548
+549 - ȥ - 549
+550 - Ȧ - 550
+551 - ȧ - 551
+552 - Ȩ - 552
+553 - È© - 553
+554 - Ȫ - 554
+555 - È« - 555
+556 - Ȭ - 556
+557 - È - 557
+558 - È® - 558
+559 - ȯ - 559
+560 - È° - 560
+561 - ȱ - 561
+562 - Ȳ - 562
+563 - ȳ - 563
+564 - È´ - 564
+565 - ȵ - 565
+566 - ȶ - 566
+567 - È· - 567
+568 - ȸ - 568
+569 - ȹ - 569
+570 - Ⱥ - 570
+571 - È» - 571
+572 - ȼ - 572
+573 - Ƚ - 573
+574 - Ⱦ - 574
+575 - È¿ - 575
+576 - É - 576
+577 - É - 577
+578 - É - 578
+579 - É - 579
+580 - É - 580
+581 - É
- 581
+582 - É - 582
+583 - É - 583
+584 - É - 584
+585 - É - 585
+586 - É - 586
+587 - É - 587
+588 - É - 588
+589 - É - 589
+590 - É - 590
+591 - É - 591
+592 - É - 592
+593 - É - 593
+594 - É - 594
+595 - É - 595
+596 - É - 596
+597 - É - 597
+598 - É - 598
+599 - É - 599
+600 - É - 600
+601 - É - 601
+602 - É - 602
+603 - É - 603
+604 - É - 604
+605 - É - 605
+606 - É - 606
+607 - É - 607
+608 - É - 608
+609 - É¡ - 609
+610 - ɢ - 610
+611 - ɣ - 611
+612 - ɤ - 612
+613 - ɥ - 613
+614 - ɦ - 614
+615 - ɧ - 615
+616 - ɨ - 616
+617 - É© - 617
+618 - ɪ - 618
+619 - É« - 619
+620 - ɬ - 620
+621 - É - 621
+622 - É® - 622
+623 - ɯ - 623
+624 - É° - 624
+625 - ɱ - 625
+626 - ɲ - 626
+627 - ɳ - 627
+628 - É´ - 628
+629 - ɵ - 629
+630 - ɶ - 630
+631 - É· - 631
+632 - ɸ - 632
+633 - ɹ - 633
+634 - ɺ - 634
+635 - É» - 635
+636 - ɼ - 636
+637 - ɽ - 637
+638 - ɾ - 638
+639 - É¿ - 639
+640 - Ê - 640
+641 - Ê - 641
+642 - Ê - 642
+643 - Ê - 643
+644 - Ê - 644
+645 - Ê
- 645
+646 - Ê - 646
+647 - Ê - 647
+648 - Ê - 648
+649 - Ê - 649
+650 - Ê - 650
+651 - Ê - 651
+652 - Ê - 652
+653 - Ê - 653
+654 - Ê - 654
+655 - Ê - 655
+656 - Ê - 656
+657 - Ê - 657
+658 - Ê - 658
+659 - Ê - 659
+660 - Ê - 660
+661 - Ê - 661
+662 - Ê - 662
+663 - Ê - 663
+664 - Ê - 664
+665 - Ê - 665
+666 - Ê - 666
+667 - Ê - 667
+668 - Ê - 668
+669 - Ê - 669
+670 - Ê - 670
+671 - Ê - 671
+672 - Ê - 672
+673 - Ê¡ - 673
+674 - ʢ - 674
+675 - ʣ - 675
+676 - ʤ - 676
+677 - ʥ - 677
+678 - ʦ - 678
+679 - ʧ - 679
+680 - ʨ - 680
+681 - Ê© - 681
+682 - ʪ - 682
+683 - Ê« - 683
+684 - ʬ - 684
+685 - Ê - 685
+686 - Ê® - 686
+687 - ʯ - 687
+688 - Ê° - 688
+689 - ʱ - 689
+690 - ʲ - 690
+691 - ʳ - 691
+692 - Ê´ - 692
+693 - ʵ - 693
+694 - ʶ - 694
+695 - Ê· - 695
+696 - ʸ - 696
+697 - ʹ - 697
+698 - ʺ - 698
+699 - Ê» - 699
+700 - ʼ - 700
+701 - ʽ - 701
+702 - ʾ - 702
+703 - Ê¿ - 703
+704 - Ë - 704
+705 - Ë - 705
+706 - Ë - 706
+707 - Ë - 707
+708 - Ë - 708
+709 - Ë
- 709
+710 - Ë - 710
+711 - Ë - 711
+712 - Ë - 712
+713 - Ë - 713
+714 - Ë - 714
+715 - Ë - 715
+716 - Ë - 716
+717 - Ë - 717
+718 - Ë - 718
+719 - Ë - 719
+720 - Ë - 720
+721 - Ë - 721
+722 - Ë - 722
+723 - Ë - 723
+724 - Ë - 724
+725 - Ë - 725
+726 - Ë - 726
+727 - Ë - 727
+728 - Ë - 728
+729 - Ë - 729
+730 - Ë - 730
+731 - Ë - 731
+732 - Ë - 732
+733 - Ë - 733
+734 - Ë - 734
+735 - Ë - 735
+736 - Ë - 736
+737 - Ë¡ - 737
+738 - ˢ - 738
+739 - ˣ - 739
+740 - ˤ - 740
+741 - ˥ - 741
+742 - ˦ - 742
+743 - ˧ - 743
+744 - ˨ - 744
+745 - Ë© - 745
+746 - ˪ - 746
+747 - Ë« - 747
+748 - ˬ - 748
+749 - Ë - 749
+750 - Ë® - 750
+751 - ˯ - 751
+752 - Ë° - 752
+753 - ˱ - 753
+754 - ˲ - 754
+755 - ˳ - 755
+756 - Ë´ - 756
+757 - ˵ - 757
+758 - ˶ - 758
+759 - Ë· - 759
+760 - ˸ - 760
+761 - ˹ - 761
+762 - ˺ - 762
+763 - Ë» - 763
+764 - ˼ - 764
+765 - ˽ - 765
+766 - ˾ - 766
+767 - Ë¿ - 767
+768 - Ì - 768
+769 - Ì - 769
+770 - Ì - 770
+771 - Ì - 771
+772 - Ì - 772
+773 - Ì
- 773
+774 - Ì - 774
+775 - Ì - 775
+776 - Ì - 776
+777 - Ì - 777
+778 - Ì - 778
+779 - Ì - 779
+780 - Ì - 780
+781 - Ì - 781
+782 - Ì - 782
+783 - Ì - 783
+784 - Ì - 784
+785 - Ì - 785
+786 - Ì - 786
+787 - Ì - 787
+788 - Ì - 788
+789 - Ì - 789
+790 - Ì - 790
+791 - Ì - 791
+792 - Ì - 792
+793 - Ì - 793
+794 - Ì - 794
+795 - Ì - 795
+796 - Ì - 796
+797 - Ì - 797
+798 - Ì - 798
+799 - Ì - 799
+800 - Ì - 800
+801 - Ì¡ - 801
+802 - ̢ - 802
+803 - ̣ - 803
+804 - ̤ - 804
+805 - ̥ - 805
+806 - ̦ - 806
+807 - ̧ - 807
+808 - ̨ - 808
+809 - Ì© - 809
+810 - ̪ - 810
+811 - Ì« - 811
+812 - ̬ - 812
+813 - Ì - 813
+814 - Ì® - 814
+815 - ̯ - 815
+816 - Ì° - 816
+817 - ̱ - 817
+818 - ̲ - 818
+819 - ̳ - 819
+820 - Ì´ - 820
+821 - ̵ - 821
+822 - ̶ - 822
+823 - Ì· - 823
+824 - ̸ - 824
+825 - ̹ - 825
+826 - ̺ - 826
+827 - Ì» - 827
+828 - ̼ - 828
+829 - ̽ - 829
+830 - ̾ - 830
+831 - Ì¿ - 831
+832 - Í - 832
+833 - Í - 833
+834 - Í - 834
+835 - Í - 835
+836 - Í - 836
+837 - Í
- 837
+838 - Í - 838
+839 - Í - 839
+840 - Í - 840
+841 - Í - 841
+842 - Í - 842
+843 - Í - 843
+844 - Í - 844
+845 - Í - 845
+846 - Í - 846
+847 - Í - 847
+848 - Í - 848
+849 - Í - 849
+850 - Í - 850
+851 - Í - 851
+852 - Í - 852
+853 - Í - 853
+854 - Í - 854
+855 - Í - 855
+856 - Í - 856
+857 - Í - 857
+858 - Í - 858
+859 - Í - 859
+860 - Í - 860
+861 - Í - 861
+862 - Í - 862
+863 - Í - 863
+864 - Í - 864
+865 - Í¡ - 865
+866 - ͢ - 866
+867 - ͣ - 867
+868 - ͤ - 868
+869 - ͥ - 869
+870 - ͦ - 870
+871 - ͧ - 871
+872 - ͨ - 872
+873 - Í© - 873
+874 - ͪ - 874
+875 - Í« - 875
+876 - ͬ - 876
+877 - Í - 877
+878 - Í® - 878
+879 - ͯ - 879
+880 - Í° - 880
+881 - ͱ - 881
+882 - Ͳ - 882
+883 - ͳ - 883
+884 - Í´ - 884
+885 - ͵ - 885
+886 - Ͷ - 886
+887 - Í· - 887
+888 - ͸ - 888
+889 - ͹ - 889
+890 - ͺ - 890
+891 - Í» - 891
+892 - ͼ - 892
+893 - ͽ - 893
+894 - ; - 894
+895 - Í¿ - 895
+896 - Î - 896
+897 - Î - 897
+898 - Î - 898
+899 - Î - 899
+900 - Î - 900
+901 - Î
- 901
+902 - Î - 902
+903 - Î - 903
+904 - Î - 904
+905 - Î - 905
+906 - Î - 906
+907 - Î - 907
+908 - Î - 908
+909 - Î - 909
+910 - Î - 910
+911 - Î - 911
+912 - Î - 912
+913 - Î - 913
+914 - Î - 914
+915 - Î - 915
+916 - Î - 916
+917 - Î - 917
+918 - Î - 918
+919 - Î - 919
+920 - Î - 920
+921 - Î - 921
+922 - Î - 922
+923 - Î - 923
+924 - Î - 924
+925 - Î - 925
+926 - Î - 926
+927 - Î - 927
+928 - Î - 928
+929 - Ρ - 929
+930 - ΢ - 930
+931 - Σ - 931
+932 - Τ - 932
+933 - Υ - 933
+934 - Φ - 934
+935 - Χ - 935
+936 - Ψ - 936
+937 - Ω - 937
+938 - Ϊ - 938
+939 - Ϋ - 939
+940 - ά - 940
+941 - Î - 941
+942 - ή - 942
+943 - ί - 943
+944 - ΰ - 944
+945 - α - 945
+946 - β - 946
+947 - γ - 947
+948 - δ - 948
+949 - ε - 949
+950 - ζ - 950
+951 - η - 951
+952 - θ - 952
+953 - ι - 953
+954 - κ - 954
+955 - λ - 955
+956 - μ - 956
+957 - ν - 957
+958 - ξ - 958
+959 - ο - 959
+960 - Ï - 960
+961 - Ï - 961
+962 - Ï - 962
+963 - Ï - 963
+964 - Ï - 964
+965 - Ï
- 965
+966 - Ï - 966
+967 - Ï - 967
+968 - Ï - 968
+969 - Ï - 969
+970 - Ï - 970
+971 - Ï - 971
+972 - Ï - 972
+973 - Ï - 973
+974 - Ï - 974
+975 - Ï - 975
+976 - Ï - 976
+977 - Ï - 977
+978 - Ï - 978
+979 - Ï - 979
+980 - Ï - 980
+981 - Ï - 981
+982 - Ï - 982
+983 - Ï - 983
+984 - Ï - 984
+985 - Ï - 985
+986 - Ï - 986
+987 - Ï - 987
+988 - Ï - 988
+989 - Ï - 989
+990 - Ï - 990
+991 - Ï - 991
+992 - Ï - 992
+993 - Ï¡ - 993
+994 - Ϣ - 994
+995 - ϣ - 995
+996 - Ϥ - 996
+997 - ϥ - 997
+998 - Ϧ - 998
+999 - ϧ - 999
+229
+228
+246
+197
+196
+214
diff --git a/test/trace/chartoascii.as b/test/trace/chartoascii.as
new file mode 100644
index 0000000..28a3c28
--- /dev/null
+++ b/test/trace/chartoascii.as
@@ -0,0 +1,20 @@
+// makeswf -v 7 -s 200x150 -r 1 -o asciitochar.swf asciitochar.as
+
+trace("CharToAscii testcase");
+
+#if __SWF_VERSION__ > 4
+for (i=0; i<1000; i++) {
+ x = chr (i);
+ trace (i + " - " + x + " - " + ord (x));
+}
+#endif
+
+trace(ord("Ã¥"));
+trace(ord("ä"));
+trace(ord("ö"));
+trace(ord("Ã
"));
+trace(ord("Ã"));
+trace(ord("Ã"));
+
+loadMovie("FSCommand:quit", "");
+
diff-tree 108cefb58caa6f3ed35db143176fb0bc071d26fc (from 6e58faa8ad4c043914e9a838a39c607dd578d107)
Author: Benjamin Otte <otte at gnome.org>
Date: Mon Jul 2 11:58:57 2007 +0100
implement CharToAscii
diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index 649ec36..71790c1 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -1922,6 +1922,42 @@ swfdec_action_logical (SwfdecAsContext *
}
static void
+swfdec_action_char_to_ascii_5 (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
+{
+ SwfdecAsValue *val = swfdec_as_stack_peek (cx->frame->stack, 1);
+ const char *s = swfdec_as_value_to_string (cx, val);
+
+ char *ascii;
+ ascii = g_convert (s, -1, "LATIN1", "UTF8", NULL, NULL, NULL);
+ if (ascii == NULL) {
+ /* This can happen if a Flash 5 movie gets loaded into a Flash 7 movie */
+ SWFDEC_FIXME ("Someone threw unconvertible text %s at Flash <= 5", s);
+ SWFDEC_AS_VALUE_SET_INT (val, 0); /* FIXME: what to return??? */
+ } else {
+ SWFDEC_AS_VALUE_SET_INT (val, (guchar) ascii[0]);
+ g_free (ascii);
+ }
+}
+
+static void
+swfdec_action_char_to_ascii (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
+{
+ SwfdecAsValue *val = swfdec_as_stack_peek (cx->frame->stack, 1);
+ const char *s = swfdec_as_value_to_string(cx, val);
+ gunichar *uni;
+
+ uni = g_utf8_to_ucs4_fast (s, -1, NULL);
+ if (uni == NULL) {
+ /* This should never happen, everything is valid UTF-8 in here */
+ g_warning ("conversion of character %s failed", s);
+ SWFDEC_AS_VALUE_SET_INT (val, 0);
+ } else {
+ SWFDEC_AS_VALUE_SET_INT (val, uni[0]);
+ g_free (uni);
+ }
+}
+
+static void
swfdec_action_ascii_to_char (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
{
char *s;
@@ -2381,7 +2417,7 @@ const SwfdecActionSpec swfdec_as_actions
/* version 4 */
[0x30] = { "RandomNumber", NULL, 1, 1, { NULL, swfdec_action_random_number, swfdec_action_random_number, swfdec_action_random_number, swfdec_action_random_number } },
[SWFDEC_AS_ACTION_MB_STRING_LENGTH] = { "MBStringLength", NULL },
- [SWFDEC_AS_ACTION_CHAR_TO_ASCII] = { "CharToAscii", NULL },
+ [SWFDEC_AS_ACTION_CHAR_TO_ASCII] = { "CharToAscii", NULL, 1, 1, { NULL, swfdec_action_char_to_ascii_5, swfdec_action_char_to_ascii_5, swfdec_action_char_to_ascii, swfdec_action_char_to_ascii } },
[SWFDEC_AS_ACTION_ASCII_TO_CHAR] = { "AsciiToChar", NULL, 1, 1, { NULL, swfdec_action_ascii_to_char_5, swfdec_action_ascii_to_char_5, swfdec_action_ascii_to_char, swfdec_action_ascii_to_char } },
[SWFDEC_AS_ACTION_GET_TIME] = { "GetTime", NULL, 0, 1, { NULL, swfdec_action_get_time, swfdec_action_get_time, swfdec_action_get_time, swfdec_action_get_time } },
[SWFDEC_AS_ACTION_MB_STRING_EXTRACT] = { "MBStringExtract", NULL },
More information about the Swfdec
mailing list