-
Notifications
You must be signed in to change notification settings - Fork 6
/
ChangeLog
1057 lines (738 loc) · 42.8 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
----------------------------------------------------------
codesets.library - Library for handling different codesets
----------------------------------------------------------
#### 6.22 RELEASE ########################################################
2024-02-26 Jens Maus <mail@jens-maus.de>
* misc: final 6.22 release preparations.
2022-11-15 Andreas Falkenhahn <andreas@falkenhahn.com>
* codesets.c: Only call strlen() if CSA_SourceLen is not set. When using
CSA_SourceLen, the string passed in CSA_Source might not be NULL-terminated
so we should not call strlen() on it.
#### 6.21 RELEASE ########################################################
2017-01-10 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: treat CS_MIBENUM_UTF_16LE/BE and allow CS_MIBENUM_UTF_32LE/BE as
synonyms for CS_MIBENUM_UTF_16 and CS_MIBENUM_UTF_32.
2016-09-07 Thore Böckelmann <tboeckel@gmx.de>
* libinit.c: moved the system and CPU description behind the copyright part.
2016-08-15 Thore Böckelmann <tboeckel@gmx.de>
* all/Debug.c: declare inlined _INDENT() function as static to avoid warnings
of GCC5.
2016-08-06 Jens Maus <mail@jens-maus.de>
* include: updated SDI headers.
#### 6.20 RELEASE ########################################################
2016-08-04 Jens Maus <mail@jens-maus.de>
* misc: final 6.20 release preparations.
2015-12-16 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: fixed the wrong destination codeset extraction since the
addition of MIBenums as alternative to codesets.
2015-12-04 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: added support for IANA MIBenum numbers as an alternative for
codeset pointers to these functions:
CodesetsFindA()
CodesetsConvertStrA()
CodesetsSetDefaultA()
CodesetsUTF8CreateA()
CodesetsStrLenA()
Furthermore the MIBenum number is now contained in the codeset structure
for reference, too.
#### 6.19 RELEASE ########################################################
2015-03-21 Jens Maus <mail@jens-maus.de>
* misc: final 6.19 release preparations.
2014-09-07 Matthias Rustler <mrustler@gmx.de>
* include/SDI_lib.h: fixes for AROS to avoid segfaults because the
library base was at the wrong place in the parameter list. We must
differ between ABI_V0 and ABI_v1 because latter has an additional
LVO entry.
* src/Makefile: compile for AROS with stubs-aros.o. Changed "YAM"
to "codesets.library".
* src/codesets.c: added "const" to the parameter because that's how
it's defined in the SFD file.
* src/lib_protos.h: added AROS prototypes.
* src/libinit.c: for AROS we must differ between ABIv1 and v0.
* src/stubs-aros.c: new AROS specific file. The prototypes with
the AROS compatibilty macros are used in the LVO table. They call
the real library functions like normal C functions.
2014-05-08 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: removed a duplicate entry from the alias table.
* codesets.c: added Windows-1258 to the known codesets and added a suitable
external conversion table.
* charsets/misc: added some more Windows-125x conversion tables.
#### 6.18 RELEASE ########################################################
2014-04-04 Jens Maus <mail@jens-maus.de>
* misc: final 6.18 release preparations.
2014-04-02 Thore Böckelmann <tboeckel@gmx.de>
* misc: updated to the most recent SDI header files. This makes it possible to
remove the stub functions for AmigaOS4.
#### 6.17 RELEASE ########################################################
2014-01-26 Jens Maus <mail@jens-maus.de>
* misc: final 6.17 release preparations.
2014-01-18 Jens Maus <mail@jens-maus.de>
* codesets_table.h: fixed a bug in the AmigaPL<>UTF8 conversion routines
where the 0x00C2 characters wasn't converted to 0x0104 in the ucs4
conversion routines.
#### 6.16 RELEASE ########################################################
2013-12-13 Jens Maus <mail@jens-maus.de>
* misc: final 6.16 release preparations.
2013-10-08 Thore Böckelmann <tboeckel@gmx.de>
* src/codesets.c: added the tag CSA_AllowMultibyteCodesets for the
CodesetsSupportedA() function to be able to exclude multibyte codesets
(i.e. UTF8) from the generated names array.
2013-05-08 Thore Böckelmann <tboeckel@gmx.de>
* src/codesets.c: removed a duplicate NUL termination.
#### 6.15 RELEASE ########################################################
2013-04-25 Jens Langner <Jens.Langner@light-speed.de>
* misc: final 6.15 release preparations.
2013-03-06 Thore Böckelmann <tboeckel@gmx.de>
* src/libinit.c: rearranged the code to ensure that trying to start the final
library from a shell does not crash.
#### 6.14 RELEASE ########################################################
2012-08-05 Jens Langner <Jens.Langner@light-speed.de>
* misc: final 6.14 release preparations.
2012-06-19 Thore Böckelmann <tboeckel@gmx.de>
* src/init.c: don't allocate locked memory.
2012-04-07 Jens Langner <Jens.Langner@light-speed.de>
* Makefile: removed -funroll-loops as this is potentially dangerous.
2012-03-04 Thore Böckelmann <tboeckel@gmx.de>
* src/libinit.c: fixed the broken build for all non-AROS platforms.
2012-01-29 Matthias Rustler <mrustler@gmx.de>
* Backport of some AROS fixes.
SDI headers updated.
#### 6.13 RELEASE ########################################################
2011-11-26 Jens Langner <Jens.Langner@light-speed.de>
* misc: final 6.13 release preparations.
2011-01-04 Thore Böckelmann <tboeckel@gmx.de>
* all/Makefile: fixed the dependency generation to respect the system specific
object file path.
2010-12-06 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: added some "const" keywords to avoid type casts.
2010-10-06 Thore Böckelmann <tboeckel@gmx.de>
* dist/Install: adapted the Installer script to respect MorphOS' default
location for 3rd party libraries.
2010-10-05 Thore Böckelmann <tboeckel@gmx.de>
* libinit.c: make sure that removing the library during LibClose() really
operates on the correct base. Calling LibExpunge() on MorphOS is wrong,
since that takes no parameter but expects the base to be in A6. We work
around this by using an additional function which gets called from
LibClose() and LibExpunge() with the correct base pointer.
2010-09-28 Thore Böckelmann <tboeckel@gmx.de>
* tools/mkrelease.sh: remove the mmakefile.src file from the distribution.
#### 6.12 RELEASE ########################################################
2010-09-23 Jens Langner <Jens.Langner@light-speed.de>
* misc: final 6.12 release preparations.
2010-09-20 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: fixed a possible length issue in case a UTF8 sequence had to be
replaced more than once by "lookalike" characters. Before the length of the
sequence to be replaced was not modified after the first replacement. Thanks
to Bernd Gollesch for the hint.
2010-09-10 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: CodesetsUTF8ToStr() did not return the correct length of the
converted string in case mapping of foreign characters was requested and
the string really contained mappable characters which might be replaced
by longer ASCII strings of than one single character.
2010-09-03 Thore Böckelmann <tboeckel@gmx.de>
* libinit.c, debug.c: clear all semaphore structures before calling
InitSemaphore().
#### 6.11 RELEASE ########################################################
2010-09-01 Jens Langner <Jens.Langner@light-speed.de>
* misc: final 6.11 release preparations.
2010-08-16 Thore Böckelmann <tboeckel@gmx.de>
* libinit.c: the library init code now ensures that the entry code is really
the first code to be executed in case the .library is executed like a
regular command by accident.
* include/SDI_compiler.h: updated to latest version.
2010-08-12 Pavel Fedin <pavel_fedin@mail.ru>
* src/codesets.c: fixed pointer to integer conversion for 64-bit systems
* developer/examples/demo1.c: likewise
* include/SDI_hook.h: added missing include for AROS
2010-07-01 Thore Böckelmann <tboeckel@gmx.de>
* src/init.c: enabled querying of ENV:CODEPAGES to obtain the default codeset
for all systems.
* src/init.c: added car plate codes and ISO3166 Alpha 3 country code detection
when obtaining the system default codeset. Thus a user can use a system
default language/codeset which doesn't match the country's language/codeset.
This fulfils feature request #2971890.
2010-06-15 Thore Böckelmann <tboeckel@gmx.de>
* src/codesets.c: added a union of several pointer types to avoid the tons of
warnings of GCC4+ about type punned pointer accesses.
2010-06-11 Thore Böckelmann <tboeckel@gmx.de>
* Install: extended the final message that a reboot might be necessary to be
able to use the just installed version.
2010-06-10 Thore Böckelmann <tboeckel@gmx.de>
* src/libinit.c: fixed a warning for the OS3 build.
* misc: added all necessary stuff for an automated build for all supported
platforms. This also includes an Installer script for an easy installation.
2010-06-07 Thore Böckelmann <tboeckel@gmx.de>
* include/SDI_compiler.h: updated to latest version.
2010-06-03 Thore Böckelmann <tboeckel@gmx.de>
* developer/examples/DetectCodeset.c: fixed some warnings about wrong types
in the printf() calls.
* developer/examples/b64[ed].c: fixed some warnings about wrong types in the
printf() calls.
2010-06-03 Matthias Rustler <mrustler@gmx.de>
* fixes for 64-bit AROS. Changed some ULONG to IPTR to get rid of warnings
like "conversion from/to integer to/from pointer with different size".
2010-04-23 Pavel Fedin <pavel_fedin@mail.ru>
* src/libinit.c: use NewStackSwap() under AROS, re-enabled stack swapping under MorphOS
* src/debug.c: use VNewRawDoFmt() for debugging output under AROS, the same as in MorphOS
2010-04-23 Thore Böckelmann <tboeckel@gmx.de>
* src/libinit.c: replaced some #ifdef's by macros.
2010-01-22 Thore Böckelmann <tboeckel@gmx.de>
* charsets/windows-1253.txt: added greek Windows-1253 codepage as this one is
documented to be incompatible to ISO8859-7 (see http://de.wikipedia.org/wiki/
Windows-1253).
#### 6.10 RELEASE ########################################################
2009-12-21 Jens Langner <Jens.Langner@light-speed.de>
* misc: final 6.10 release preparations.
2009-12-10 Thore Böckelmann <tboeckel@gmx.de>
* init.c: removed some unnecessary type casts.
* codesets.c: adding the fake UTF8, UTF16 and UTF32 codesets now makes sure
that the code tables of these codesets only contain zero values. Otherwise
CodesetsFindBestCodeset() might choose one of these by accident, even if
they are just fake entries.
* codesets.c: excluded the UTF16 and UTF32 codesets from the "find best" check
completely, like the UTF8 codeset was excluded before already.
2009-12-09 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: added some debug output when adding the individual internal and
external codesets.
* codesets.c: broke down the text check against a single codeset into smaller
functions to make things easier to understand and maintain.
* codesets.c: asking MorphOS for system codesets could fail if there is either
no default keymap or the keymap has no codepage. This let the complete
initial codeset scanning fail. Now only failed memory allocations will be
treated as errors. This conforms with treatment of all other codesets. I
guess this caused much of the recent trouble with MorphOS and codesets.lib
V6.9.
2009-12-08 Thore Böckelmann <tboeckel@gmx.de>
* misc: cleaned up several parts of the source code for better readability and
maintainability. The pool semaphore was often used to protect some code
parts against concurrent execution where it was not needed at all. The pool
semaphore is for meant to protect the memory pool and nothing else!
Added the GetHead/Tail/Succ/Pred functions to navigate within the codeset
lists to make things more safe.
2009-11-02 Thore Böckelmann <tboeckel@gmx.de>
* debug.c, libinit.c: reworked the debug system to use the same stuff as YAM
does. Furthermore we now have a semaphore to prevent several concurring
applications from screwing up the log by writing out debug messages at the
same time.
2009-10-29 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: removed a superflous LF from a debug message.
#### 6.9 RELEASE #########################################################
2009-10-24 Jens Langner <Jens.Langner@light-speed.de>
* misc: final 6.9 release preparations.
2009-09-19 Thore Böckelmann <tboeckel@gmx.de>
* misc: added a name to all memory pools for OS4.
2009-08-14 Thore Böckelmann <tboeckel@gmx.de>
* Makefiles: added "-g" to the debug flags. It seems the OS3 GCC 2.95.3 cross
compiler needs this to generate debug infos at all.
2009-07-21 Thore Böckelmann <tboeckel@gmx.de>
* libinit.c: in case something in the LibInit() call fails everything set up
before will now correctly be freed again to avoid memory leaks.
2009-07-10 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: a conversion with identical source and destination codesets no
longer fails, although such a conversion doesn't make much sense. Instead
a copy of the source string is created which must be freed by a call to
CodesetsFree() as usual.
2009-07-02 Ilkka Lehtoranta <ilkleht@isoveli.org>
* libraries/codesets.h: Added standard UTF#?_TYPEDEF around UTF8, UTF16 and
UTF32 typedefs to make sure they dont clash with system types in the future.
2009-06-15 Ilkka Lehtoranta <ilkleht@isoveli.org>
* codesets.c: workaround for locale.library bug in MorphOS 2.2.
Fixes bug #2496990.
2009-06-08 Staf Verhaegen <staf.verhaegen@skynet.be>
* libinit.c: On AROS library base is not necessarily passed on the stack
to the lib (de)init functions. Use AROS macros for the definition of those
functions so that the passing is always done in the right way.
2009-06-07 Matthias Rustler <mrustler@gmx.de>
* Makefiles for examples and linkerlib fixed.
* Bugfix in demo1.c. (variable codesets defined outside application
to ensure that it exists when it's used)
2009-06-02 Matthias Rustler <mrustler@gmx.de>
* Some warnings removed
* Use standard MUIM_Application_AboutMUI because custom method
crashes under AROS
2009-06-02 Jens Langner <Jens.Langner@light-speed.de>
* lib_protos.h: fixed the compilation for OS3, MOS and AROS because of
incompatible function prototypes for the library functions with a variable
argument list.
2009-05-04 Thore Böckelmann <tboeckel@gmx.de>
* include/SDI_lib.h: updated to the latest version.
2009-05-02 Ilkka Lehtoranta <ilkleht@isoveli.org>
* libinit.c: RTF_EXTENDED was not set for the MorphOS build making revision
number ineffective.
2009-04-30 Thore Böckelmann <tboeckel@gmx.de>
* include/SDI_lib.h: updated to the latest version.
2009-04-17 Jens Langner <Jens.Langner@light-speed.de>
* include/defines/codesets.h: regenerated the AROS codesets.h includes by
using the very latest sfdc 1.4 tool. That should hopefully fix all existing
issues with using codesets.lib for an AROS project.
2009-04-06 Jens Langner <Jens.Langner@light-speed.de>
* include/defines/codesets.h: fixed the codesets AROS defines.h include by
shifting the function offsets by one to match the offsets using in the 68k
build.
2009-04-01 Thore Böckelmann <tboeckel@gmx.de>
* libinit.c: fixed broken stackswap_call() prototype for the assembler
version.
2009-04-01 Jens Langner <Jens.Langner@light-speed.de>
* include/defines/codesets.h: updated the AROS codesets.h file to the one
that is distributed with AROS.
2009-03-30 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: the UTF8 compare function now uses a proper prototype to be used
with qsort().
* codesets.c: in case the default codeset could not be created two libraries
were left open in the MOS build.
2009-03-27 Thore Böckelmann <tboeckel@gmx.de>
* libinit.c: reenabled the prototype for the stackswap_call() function to
avoid warnings about implicitly declared functions.
* codesets.c: fixed some warnings about uninitialized variables.
2009-03-26 Jens Langner <Jens.Langner@light-speed.de>
* include: updated SDI headers to very latest versions.
2009-03-25 Jens Langner <Jens.Langner@light-speed.de>
* libinit.c: introduced a small fix to get the file compiled with the fixed
SDI headers again.
* include: fixed the SDI headers.
* Makefile: adapted makefile to directly specify the target CPU for the AROS
build. If you now want to compile AROS you have to explicitly set
"OS=aros-i386" or "OS=aros-ppc", for example.
* version.h: added x86_64 CPU type to allow compilation of codesets.library
for x86_64 AROS target.
* libinit.c: added RTF_EXTENDED and library revision number for the AROS
build.
2009-03-24 Pavel Fedin <sonic.amiga@gmail.com>
* codesets.c, convertUTF.c, util.c, lib_protos.h : implemented complete UTF32
support
* libcodesets: added portable autoinit code
* developer/examples/autoopen.c: added autoopen test
2009-03-23 Thore Böckelmann <tboeckel@gmx.de>
* developer/examples/Convert.c: added the usual information header.
* developer/examples/Convert.c: made the demo program compilable for OS4.
* codesets.c: fixed various warnings about wrong types. Also removed all TAB
characters I have spotted. Please note that we are using space characters
only for indentation.
2009-03-21 Jens Langner <Jens.Langner@light-speed.de>
* misc: minor adaptions
* include: updated the SDI headers to their latest versions and incorporated
the latest changes from Pavel.
2009-03-20 Pavel Fedin <sonic.amiga@gmail.com>
* misc: many fixes in various places, code merge, got rid of many #ifdef's. AROS
version can be built or cross-built outside of AROS build system. Fixed "demo1"
program to work under MorphOS
2009-01-28 Thore Böckelmann <tboeckel@gmx.de>
* developer/examples/demo1.c: replaced use of the custom class Textinput.mcc
by a simple Text object, as this class is not installed on all systems and
may also have caused bug #2539755. However, the custom TextEditor.mcc class
is still required, but this one is correctly checked if it should be
missing.
2009-01-27 Thore Böckelmann <tboeckel@gmx.de>
* developer/examples/demo1.c: added some NULL checks to avoid stricmp() to be
called with NULL pointers. This should fix bug #2539755.
2009-01-10 Staf Verhaegen <staf.verhaegen@skynet.be>
* codesets.conf (AROS): Update version, date and copyright info
#### 6.8 RELEASE #########################################################
2009-01-04 Jens Langner <Jens.Langner@light-speed.de>
* misc: final 6.8 release preparations.
2009-01-02 Ilkka Lehtoranta <ilkleht@isoveli.org>
* codesets.c: MorphOS code was using LocaleBase before it was initialised
and using library under MorphOS 2.0 or newer would always crash. Locale
library is now opened locally to make sure we have correct version (V51).
This fixes bug #2459558.
* base64.c: avoid using now obsolete AllocDosObject() in MorphOS.
#### 6.7 RELEASE #########################################################
2008-12-20 Jens Langner <Jens.Langner@light-speed.de>
* misc: final 6.7 release preparations.
2008-12-19 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c, codepages.c: separated the constant code pages from the actual
code to create smaller source files.
2008-12-19 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: minor cosmetic changes to make the new MorphOS functionality
fit better into our current environment.
2008-12-18 Ilkka Lehtoranta <ilkleht@isoveli.org>
* codesets.c: query and add currently active code page to codesets if
running on MorphOS 2.
2008-12-16 Thore Böckelmann <tboeckel@gmx.de>
* init.c: replaced the obsolete CreatePool() and DeletePool() calls with
AllocSysObject() and FreeSysObject() call for the OS4 build. Also restored
the old MEMF_ANY memory flags for the other platforms. For OS4 MEMF_SHARED
will be used as before.
2008-12-16 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: replaced the obsolete ExAll() usage with a proper ExamineDir()
usage for the OS4 build.
* base64.c: replaced the obsolete ExamineFH() use with ExamineObject() for
the OS4 build.
* codesets.c: added an internal list of well-known codeset aliases. This
alias list is used whenever CodesetsFind() is used. It allows applications
to supply an alias name of a codeset and see it directly matched to the
correct MIME name.
2008-12-14 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: when replacing UTF8 chars by ASCII look-alike replacements the
destination buffer size was never increased but the index for the new
characters was correctly increased. This caused random memory accesses after
a few replacements which usually went unnoticed when only very replacements
happened. On OS3 this went completely unnoticed.
2008-12-12 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: massive code cleanup. Replaced all TAB characters by spaces and
changed lots of implicit result checks to explicit ones.
* utils.c: added the usual ENTER/RETURN/LEAVE macro calls.
* utils.c: the custom implementations of AllocVecPooled() and FreeVecPooled()
can now be enabled and disabled by single #define's. By default OS4 and
MorphOS will use their own kernel supplied versions.
2008-12-08 Thore Böckelmann <tboeckel@gmx.de>
* utils.c: added a size check to reallocVecPooled() just in case the new
allocation is smaller than the old one.
* codesets.c: added missing RETURN() macro call.
* codesets.c: added more missing macro calls and cleaned up some code passages.
* init.c: replaced MEMF_ANY by MEMF_SHARED for OS4.
2008-08-16 Staf Verhaegen <staf.verhaegen@skynet.be>
* codesets.conf (AROS): Update version and copyright
* mmakefile.src (AROS): Don't let codesets.library depend on libcodesets.a
2008-07-29 Jens Langner <Jens.Langner@light-speed.de>
* developer/docs/codesets.doc: fixed the documentation on the Hook uses
as an incorrect hook prototype was used throughout the examples.
#### 6.6 RELEASE #########################################################
2008-07-06 Jens Langner <Jens.Langner@light-speed.de>
* misc: final release preparations
2008-07-05 Jens Langner <Jens.Langner@light-speed.de>
* developer/examples: replaced the multiple makefiles by a single
multiplatform makefile.
2008-07-04 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: renamed the new mapping functionality to the more untuitive
"CSA_MapForeignToASCII" term.
2008-07-03 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: fixed some copy'n'paste bugs in the lookup table.
* codesets.c: in case one of the replacement functions returned an UTF8
sequence the wrong string was used in the next loop, causing an endless
loop.
2008-07-03 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: added official ISO replacements for the currency symbols in
case the CSA_MapUnknownToASCII attribute is used.
* codesets.c: fixed a bug in the newly reworked replacement function which
didn't work as expected and always replace unknown chars with '?' instead
of replacing it with the looklike char sequence.
2008-07-02 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: calling the replacement hook will be skipped now if the
internal table yielded a suitable replacement.
* codesets.c: removed that silly restriction of 10 replacement tries again.
It is up to the developer to make sure that no endless loop happens and
that the replacement hook handles all data correctly and as documented.
* codesets.c, codesets.doc: the internal and the external replacement via
hooks are now handled completely independently, however, the hook will be
called after the internal replacement and thus can override the internal
replacement. Furthermore if either function returns an UTF8 sequence this
sequence will be passed again to these functions as long as no suitable
code is found in the active codeset. 10 retries will be done at most to
avoid endless loops.
* codesets.c, codesets.doc: renamed the attribute CSA_MapUnknownToAscii to
CSA_MapUnknownToASCII. Also implemented CSA_MapUnknownHook, which will call
the specified hook function in case no internal replacement for an unknown
UTF8 sequence could be found. This way an application can provide its own
additional "to ASCII" remapping.
2008-07-02 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c, codesets.doc: added the new CSA_MapUnknownToAscii attribute to
our autodocs and added its use in the CodesetsConvertStrA() function
as well.
2008-07-01 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: added the Latin Extended-A section to the lookup table.
* codesets.c: implemented the binary search in the new replacement lookup
table.
2008-07-01 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: renamed replacement function to mapUTF8toAscii() which more
describes what this function does. In addition the new attribute is now
named CSA_MapUnknownToAscii. In addition the new function contains a first
experimental utf8map lookup table which we can use in future instead of
the long switch/case statements.
2008-06-30 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: fixed the PRIME character replacement.
2008-06-29 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: added more replacement UTF8 replaceent characters to the internal
list.
2008-06-28 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: slightly updated our char replacement list - still more to come.
2008-06-27 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: changed the source pointer type of getReplacementUTF8Char() from
"char *" to "unsigned char *". For OS4 this should make no difference, since
the char type defaults to unsigned with GCC 4. For OS3 this makes a huge
difference, because for GCC 2 char is still signed and some comparisons will
be "const false" or even outside the valid value range in switch() statements
in this case.
* libinit.c, codesets.c: removed some warnings about uninitialized variables
and "void *" pointer arithmetic.
2008-06-26 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c, misc: started implemented feature request #1879875 by
introducing a new CSA_ReplaceUnknown attribute for CodesetsConvertStr()
and CodesetsUTF8ToStr(). When this attribute is set to TRUE, some
well-known UTF8 sequences which can't be directly mapped to a certain
destination codeset will be automatically replaced by common 7bit
character representations. This should make some UTF8 encoded
text passages a bit more readable in case they contain punctation
and similar generic characters which can't be directly mapped. Please
note, however, that this is still work in progress and that the
replacement list should be enhanced by having a look what chars can be
mapped.
* misc: updated the build environment to take a Makefile.dep dependency
file into account.
2008-06-24 Jens Langner <Jens.Langner@light-speed.de>
* misc: fixed broken build and renamed the gluecode lib directory name.
2008-06-24 Ilkka Lehtoranta <ilkleht@isoveli.org>
* libcodesets.a: added MorphOS glue lib to developers dir.
* init.c: we must use localised Strnicmp() string comparison routine to
support supplement characters properly.
* init.c: added localised chech written in local charset (MorphOS uses
localised language names).
2008-04-15 Thore Böckelmann <tboeckel@gmx.de>
* developer/examples/vastubs.c, developer/examples/makefile.os3: added
vararg stubs for OS3 to be able to link against clib2.
2007-12-26 Ilkka Lehtoranta <ilkleht@isoveli.org>
* src/init.c: the system default charset is now identified by using
GetKeymapCodepage() function on MorphOS 2.0.
#### 6.5 RELEASE #########################################################
2007-12-18 Jens Langner <Jens.Langner@light-speed.de>
* misc: preparations for upcoming v6.5 release.
* docs: added the missing documentation about the CodesetsFreeVecPooled()
function and corrected the examples accordingly. This should fix
fix bug #1823214.
2007-11-25 Matthias Rustler <mrustler@gmx.de>
* misc: ported sources to AROS. The final build is currently only
available with the AROS project itself and this is still work in
progress.
2007-09-05 Thore Böckelmann <tboeckel@gmx.de>
* codesets.c: fixed a signedness warning.
* codesets.c: changed all CSA_SourceLen occurences to default to the string
length of the given CSA_Source. Additionally CSA_Source is checked to be a
valid pointer. A NULL pointer will result in a length of zero.
* codesets.doc: updated the docs to reflect the meaning of CSA_SourceLen.
2007-08-20 Jens Langner <Jens.Langner@light-speed.de>
* libinit.c: adapted library initialization interface to match the
changes done in e.g. TextEditor.mcc and which should mainly fix stack
related issues on MorphOS systems.
#### 6.4 RELEASE #########################################################
2007-07-17 Thore Böckelmann <tboeckel@gmx.de>
* libinit.c: we use inline assembler for defining a new generic
stackswap_call() function that will be used to surround the initBase()
call by StackSwap() uses. This inline assembler should guarantee that
the function will not be inlined by the compiler and work properly on
all different supported platforms.
2007-07-04 Thore Böckelmann <tboeckel@gmx.de>
* libinit.c: the StackSwapStruct is now placed on the stack instead of
allocating it in one block with the new stack itself, as that caused instant
crashes.
2007-07-04 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: CSA_ErrPtr can now be specified in the CodesetsUTF8ToStrA()
function to get informed about the amount of not convertable characters
found during the conversion. This fullfils feature request #1724860.
* libinit.c: initBase() will now be called in LibInit() again as this is
the smoother variant. But a StackSwap() construct protects us from stack
overruns on OS3/MOS machines.
2007-07-01 Jens Langner <Jens.Langner@light-speed.de>
* libinit.c: reworked library manager interface to use inline asm-based obtain
and release functions according to the latest output of idltool 52.7
* codesets.doc: applied patch for CodesetsUTF8ToStrA() function kindly provided
by Steffen Gutmann.
2007-06-13 Thore Böckelmann <tboeckel@gmx.de>
* debug.c: unified the _DPRINTF() functions for all platforms.
2007-06-10 Jens Langner <Jens.Langner@light-speed.de>
* #?/Makefile: minor update/optimization on Makefiles.
* libinit.c: partly reintroduced the initialization of codesets.library in
LibOpen() via a seperate init locking variable due to occuring stack issues
on OS3.
* debug.c: removed <proto/intuition.h> as it isn't required at all.
2007-06-09 Jens Langner <Jens.Langner@light-speed.de>
* libinit.c, misc: reworked library init code to call the initBase/freeBase()
function in the respective LibInit/LibExpunge() function instead and just deal
with the open counter and the late expunge flag in the LibOpen/LibClose()
functions. This should make the library initialization more clear and
hopefully also less error prone.
2007-06-05 Thore Böckelmann <tboeckel@gmx.de>
* debug.c: fixed the variable parsing and the final output of the debug flags.
* developer/examples/makefile.os4: removed the -pipe option from the command
line as the OS4 native GCC does not support this yet.
2007-05-24 Thore Böckelmann <tboeckel@gmx.de>
* libinit.c: the open counter is now bump as first action in LibOpen(), right
before calling baseInit(). baseInit() may scan some directories which may
take an unpredictable amount of time. While this happens the system may
invoke LibExpunge() which will immediately remove the library again from the
system, becasue the open counter is still zero. This should fix the random
crashes that some people were experiencing. Maybe a semaphore protected
LibExpunge() could do the same...
#### 6.3 RELEASE #########################################################
2007-01-27 Jens Langner <Jens.Langner@light-speed.de>
* Makefile: replaced the single target makefiles with a general Makefile
that contains HOST and TARGET os identification code via 'uname'.
This way we can easily compile codesets.library with a single makefile
for all our platforms.
* misc: bumped the year to 2007
2007-01-11 Ilkka Lehtoranta <ilkleht@isoveli.org>
* base64.c: fixed bug #1608004 where b64 encoder never null terminated
the output string (when encoding to a string buffer).
2006-12-04 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: added alternative names to all ISO based codeset names as
some applications might want to query for these abbreviations instead.
* misc: fixed all still pending compiler warnings
2006-09-20 Jens Langner <Jens.Langner@light-speed.de>
* makefile.#?: added -Wwrite-string warning option to let the compiler
more easily find const/non-const issues.
* include/SDI_#?: update the sdi headers to latest versions.
* include/interfaces: fixed minor bug #1560515 where the interface
definition was slightly wrong.
2006-09-06 Jens Langner <Jens.Langner@light-speed.de>
* developer/include/inline: added a VBCC inline version of our current
codesets API.
#### 6.2 RELEASE #########################################################
2006-05-20 Jens Langner <Jens.Langner@light-speed.de>
* misc: reworked the whole API of the CodesetsFindBestA() function which
was more or less unused until today. The function now only accepts a
variable tagitem list. All former fixed arguments have to be set via
TagItems now. This should make the function more flexible for the
future. In addition, I added the cyrillic codeset autodetection code
kindly provided by Alexey Ivanov. codesets.library can now be used
together with the new CSA_CodesetsFamily attribute to specify the
family to which against the supplied text should be matched. This will
also allow to add more different codeset families in future to the
autodetection. Revised the autodocs and includes of CodesetsFindBest()
accordingly.
2006-04-11 Jens Langner <Jens.Langner@light-speed.de>
* Makefile.os4, libinit.c: reworked the OS4 library interface to
cleanly compile with newlib instead of clib2. Future OS4 version will
be built for newlib only as that is the standard runtime library for
AmigaOS4.
2006-04-05 Jens Langner <Jens.Langner@light-speed.de>
* libinit.c: slightly reworked the library init/expunge code to act a
bit more robust and don't use any semaphore during the library expunge
phase which in fact should cure the crashing on MorphOS during
expunging of the library.
#### 6.1 RELEASE #########################################################
2006-03-27 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: replaced the underscore char '_' use for an unknown char
during an UTF-8 conversion by a questionmark '?' as this might be
a more proper replacement and it doesn't trigger YAM's text
highlighting routines.
* codesets.c: slightly reworked the ReadTable() function. Reworked
the CodesetsUTF8ToStrA() function to correctly take respect of the
CSA_SourceLen attribute as documented. Previously it always
converted until strlen(src). Now in case the SourceLen is specified
it will stop converting the UTF8 string.
* libinit.c, base.h: moved the internal charset table initialization
routine from the LibInit() function to the first call of the
LibOpen(). This in fact should fix the various strange crash bugs
reported since the release of 6.0.
* init.c: changed the library base definitions to use "extern" and
also define "__UtilityBase" to please constraints of clib2.
2006-03-14 Jens Langner <Jens.Langner@light-speed.de>
* misc: switched from CVS to the new SVN (subversion) services of
sf.net. Should should definitly increase our project's flexibility.
2006-02-28 Jens Langner <Jens.Langner@light-speed.de>
* utils.c: removed the unnecessary snprintf()/sprintf() stuff as it
is not required anymore.
* codesets.c: fixed some minor compiler warnings and added some more
debug output.
* include/SDI_lib.h: updated to latest SDI_lib.h, which fixes some
compiler issues with GCC3+ under OS3.
#### 6.0 RELEASE #########################################################
2006-02-25 Jens Langner <Jens.Langner@light-speed.de>
* misc: final 6.0 release preparations.
* codesets.doc: updated the autodocs according to our latest changes
sind the open-source release of the library. Added some common
examples and also restructed it.
* codesets.c: changed all "struct MinList *" related functions to use
the newly defined "struct codesetList *" instead. This new type
instead of the public MinList type keeps those functions more
flexible in future.
* codesets.c: changed CodesetsListDelete() to be a tagitem receiving
function. This should make it much more usable in future.
* codesets.c: modified all CodesetsListX() functions to return a
boolean value to signal if an operating succeeded or not.
* libraries/codesets.h: changed all tag items to carry the shortcut
CSA instead of the long CODESETSA_XXXX string. This should make the
use of codesets.library more intuitive.
2006-02-21 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: changed the scandir function to use ExAll() instead
of using the FileInfoBlock structures. This should be slightly
faster and more consistent.
* codesets.c: replaced the previously added internal private
codeset list management functions with a more transparent
approach using separate functions (CodesetsListCreateA(),
CodesetsListDelete(), etc.). Now a user may generate an
unlimited number of own private codesets lists allowing him
to load additional codesets on runtime from either a directory,
file or already existing codesets.
2006-02-15 Jens Langner <Jens.Langner@light-speed.de>
* codesets.c: added a new internal "findPrivateCodesetList()"
function and made CodesetsFindA()/CodesetsFindBestA() aware of
the newly added CODESETSA_RefTask attribute which will allow a
user to directly specify the referencing task for searching for
a private codesets list. This in fact may only be used in
multithreaded applications where functions like CodesetsFindA()
are used from a different task/thread than the OpenLibrary()
of codesets.library was done.
2006-02-14 Jens Langner <Jens.Langner@light-speed.de>
* misc: implemented a private codeset management facility. Now
codeset.library will automatically scan an eventually existing
PROGDIR:Charsets and if present will load those codesets in a
per-task private list of codesets which will be added to the
global list of supported codesets as well.
* misc: implemented new CodesetsConvertStrA() library function which
will allow to specify a source and destination codeset as well as
a source string. The source string is then automatically converted
to the supplied destination string. This in turn should give a
plenty transparent method to convert strings from one codeset
to another.
* added the UTF-8 codeset to the internal list of supported codesets.
However, as the UTF-8 codeset is a very central codeset it is
treated special in such case that if UTF8Create() is used with a
string that is already encoded in UTF8, false will be returned.
2005-12-16 Jens Langner <Jens.Langner@light-speed.de>
* init.c: changed the system default charset identification routines
to use the GetDiskFontCtrl() function on AmigaOS4 to find out
the currently active system charset. In addition, if this
identification fails it will try to find out the charset by falling
back to checking ENV:CHARSET, then using ENV:LANGUAGE to parse ther
internal language<>codeset list and if this also fails it will
directly use locale.library to find out the language to check
our own internal fallback tables for default charset<>language