added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / workbench / libs / codesetslib / ChangeLog
blob0a551b53b7f35c5b5fa892f4addceb29d51d1c53
1 ----------------------------------------------------------
2 codesets.library - Library for handling different codesets
3 ----------------------------------------------------------
5 $Id$
6 $URL$
8 2007-12-26  Ilkka Lehtoranta <ilkleht@isoveli.org>
10   * src/init.c: the system default charset is now identified by using
11     GetKeymapCodepage() function on MorphOS 2.0.
13 #### 6.5 RELEASE #########################################################
15 2007-12-18  Jens Langner <Jens.Langner@light-speed.de>
17   * misc: preparations for upcoming v6.5 release.
18   * docs: added the missing documentation about the CodesetsFreeVecPooled()
19     function and corrected the examples accordingly. This should fix
20     fix bug #1823214.
22 2007-11-25  Matthias Rustler <mrustler@gmx.de>
24   * misc: ported sources to AROS. The final build is currently only
25     available with the AROS project itself and this is still work in
26     progress.
28 2007-09-05  Thore Böckelmann <tboeckel@gmx.de>
30   * codesets.c: fixed a signedness warning.
31   * codesets.c: changed all CSA_SourceLen occurences to default to the string
32     length of the given CSA_Source. Additionally CSA_Source is checked to be a
33     valid pointer. A NULL pointer will result in a length of zero.
34   * codesets.doc: updated the docs to reflect the meaning of CSA_SourceLen.
36 2007-08-20  Jens Langner <Jens.Langner@light-speed.de>
38   * libinit.c: adapted library initialization interface to match the
39     changes done in e.g. TextEditor.mcc and which should mainly fix stack
40     related issues on MorphOS systems.
42 #### 6.4 RELEASE #########################################################
44 2007-07-17  Thore Böckelmann <tboeckel@gmx.de>
46   * libinit.c: we use inline assembler for defining a new generic
47     stackswap_call() function that will be used to surround the initBase()
48     call by StackSwap() uses. This inline assembler should guarantee that
49     the function will not be inlined by the compiler and work properly on
50     all different supported platforms.
52 2007-07-04  Thore Böckelmann <tboeckel@gmx.de>
54   * libinit.c: the StackSwapStruct is now placed on the stack instead of
55     allocating it in one block with the new stack itself, as that caused instant
56     crashes.
58 2007-07-04  Jens Langner <Jens.Langner@light-speed.de>
60   * codesets.c: CSA_ErrPtr can now be specified in the CodesetsUTF8ToStrA()
61     function to get informed about the amount of not convertable characters
62     found during the conversion. This fullfils feature request #1724860.
63   * libinit.c: initBase() will now be called in LibInit() again as this is
64     the smoother variant. But a StackSwap() construct protects us from stack
65     overruns on OS3/MOS machines.
67 2007-07-01  Jens Langner <Jens.Langner@light-speed.de>
69   * libinit.c: reworked library manager interface to use inline asm-based obtain
70     and release functions according to the latest output of idltool 52.7
71   * codesets.doc: applied patch for CodesetsUTF8ToStrA() function kindly provided
72     by Steffen Gutmann.
74 2007-06-13  Thore Böckelmann <tboeckel@gmx.de>
76   * debug.c: unified the _DPRINTF() functions for all platforms.
78 2007-06-10  Jens Langner <Jens.Langner@light-speed.de>
80   * #?/Makefile: minor update/optimization on Makefiles.
81   * libinit.c: partly reintroduced the initialization of codesets.library in
82     LibOpen() via a seperate init locking variable due to occuring stack issues
83     on OS3.
84   * debug.c: removed <proto/intuition.h> as it isn't required at all.
86 2007-06-09  Jens Langner <Jens.Langner@light-speed.de>
88   * libinit.c, misc: reworked library init code to call the initBase/freeBase()
89     function in the respective LibInit/LibExpunge() function instead and just deal
90     with the open counter and the late expunge flag in the LibOpen/LibClose()
91     functions. This should make the library initialization more clear and
92     hopefully also less error prone.
94 2007-06-05  Thore Böckelmann <tboeckel@gmx.de>
96   * debug.c: fixed the variable parsing and the final output of the debug flags.
97   * developer/examples/makefile.os4: removed the -pipe option from the command
98     line as the OS4 native GCC does not support this yet.
100 2007-05-24  Thore Böckelmann <tboeckel@gmx.de>
102   * libinit.c: the open counter is now bump as first action in LibOpen(), right
103     before calling baseInit(). baseInit() may scan some directories which may
104     take an unpredictable amount of time. While this happens the system may
105     invoke LibExpunge() which will immediately remove the library again from the
106     system, becasue the open counter is still zero. This should fix the random
107     crashes that some people were experiencing. Maybe a semaphore protected
108     LibExpunge() could do the same...
110 #### 6.3 RELEASE #########################################################
112 2007-01-27  Jens Langner <Jens.Langner@light-speed.de>
114   * Makefile: replaced the single target makefiles with a general Makefile
115     that contains HOST and TARGET os identification code via 'uname'.
116     This way we can easily compile codesets.library with a single makefile
117     for all our platforms.
118   * misc: bumped the year to 2007
120 2007-01-11  Ilkka Lehtoranta <ilkleht@isoveli.org>
122   * base64.c: fixed bug #1608004 where b64 encoder never null terminated
123     the output string (when encoding to a string buffer).
125 2006-12-04  Jens Langner <Jens.Langner@light-speed.de>
127   * codesets.c: added alternative names to all ISO based codeset names as
128     some applications might want to query for these abbreviations instead.
129   * misc: fixed all still pending compiler warnings
131 2006-09-20  Jens Langner <Jens.Langner@light-speed.de>
133   * makefile.#?: added -Wwrite-string warning option to let the compiler
134     more easily find const/non-const issues.
135   * include/SDI_#?: update the sdi headers to latest versions.
136   * include/interfaces: fixed minor bug #1560515 where the interface
137     definition was slightly wrong.
139 2006-09-06  Jens Langner <Jens.Langner@light-speed.de>
141   * developer/include/inline: added a VBCC inline version of our current
142     codesets API.
144 #### 6.2 RELEASE #########################################################
146 2006-05-20  Jens Langner <Jens.Langner@light-speed.de>
148   * misc: reworked the whole API of the CodesetsFindBestA() function which
149     was more or less unused until today. The function now only accepts a
150     variable tagitem list. All former fixed arguments have to be set via
151     TagItems now. This should make the function more flexible for the
152     future. In addition, I added the cyrillic codeset autodetection code
153     kindly provided by Alexey Ivanov. codesets.library can now be used
154     together with the new CSA_CodesetsFamily attribute to specify the
155     family to which against the supplied text should be matched. This will
156     also allow to add more different codeset families in future to the
157     autodetection. Revised the autodocs and includes of CodesetsFindBest()
158     accordingly.
160 2006-04-11  Jens Langner <Jens.Langner@light-speed.de>
162   * Makefile.os4, libinit.c: reworked the OS4 library interface to
163     cleanly compile with newlib instead of clib2. Future OS4 version will
164     be built for newlib only as that is the standard runtime library for
165     AmigaOS4.
167 2006-04-05  Jens Langner <Jens.Langner@light-speed.de>
169   * libinit.c: slightly reworked the library init/expunge code to act a
170     bit more robust and don't use any semaphore during the library expunge
171     phase which in fact should cure the crashing on MorphOS during
172     expunging of the library.
174 #### 6.1 RELEASE #########################################################
176 2006-03-27  Jens Langner <Jens.Langner@light-speed.de>
178   * codesets.c: replaced the underscore char '_' use for an unknown char
179     during an UTF-8 conversion by a questionmark '?' as this might be
180     a more proper replacement and it doesn't trigger YAM's text
181     highlighting routines.
182   * codesets.c: slightly reworked the ReadTable() function. Reworked
183     the CodesetsUTF8ToStrA() function to correctly take respect of the
184     CSA_SourceLen attribute as documented. Previously it always
185     converted until strlen(src). Now in case the SourceLen is specified
186     it will stop converting the UTF8 string.
187   * libinit.c, base.h: moved the internal charset table initialization
188     routine from the LibInit() function to the first call of the
189     LibOpen(). This in fact should fix the various strange crash bugs
190     reported since the release of 6.0.
191   * init.c: changed the library base definitions to use "extern" and
192     also define "__UtilityBase" to please constraints of clib2.
194 2006-03-14  Jens Langner <Jens.Langner@light-speed.de>
196   * misc: switched from CVS to the new SVN (subversion) services of
197     sf.net. Should should definitly increase our project's flexibility.
199 2006-02-28  Jens Langner <Jens.Langner@light-speed.de>
201   * utils.c: removed the unnecessary snprintf()/sprintf() stuff as it
202     is not required anymore.
203   * codesets.c: fixed some minor compiler warnings and added some more
204     debug output.
205   * include/SDI_lib.h: updated to latest SDI_lib.h, which fixes some
206     compiler issues with GCC3+ under OS3.
208 #### 6.0 RELEASE #########################################################
210 2006-02-25  Jens Langner <Jens.Langner@light-speed.de>
212   * misc: final 6.0 release preparations.
213   * codesets.doc: updated the autodocs according to our latest changes
214     sind the open-source release of the library. Added some common
215     examples and also restructed it.
216   * codesets.c: changed all "struct MinList *" related functions to use
217     the newly defined "struct codesetList *" instead. This new type
218     instead of the public MinList type keeps those functions more
219     flexible in future.
220   * codesets.c: changed CodesetsListDelete() to be a tagitem receiving
221     function. This should make it much more usable in future.
222   * codesets.c: modified all CodesetsListX() functions to return a
223     boolean value to signal if an operating succeeded or not.
224   * libraries/codesets.h: changed all tag items to carry the shortcut
225     CSA instead of the long CODESETSA_XXXX string. This should make the
226     use of codesets.library more intuitive.
228 2006-02-21  Jens Langner <Jens.Langner@light-speed.de>
230   * codesets.c: changed the scandir function to use ExAll() instead
231     of using the FileInfoBlock structures. This should be slightly
232     faster and more consistent.
233   * codesets.c: replaced the previously added internal private
234     codeset list management functions with a more transparent
235     approach using separate functions (CodesetsListCreateA(),
236     CodesetsListDelete(), etc.). Now a user may generate an
237     unlimited number of own private codesets lists allowing him
238     to load additional codesets on runtime from either a directory,
239     file or already existing codesets.
241 2006-02-15  Jens Langner <Jens.Langner@light-speed.de>
243   * codesets.c: added a new internal "findPrivateCodesetList()"
244     function and made CodesetsFindA()/CodesetsFindBestA() aware of
245     the newly added CODESETSA_RefTask attribute which will allow a
246     user to directly specify the referencing task for searching for
247     a private codesets list. This in fact may only be used in
248     multithreaded applications where functions like CodesetsFindA()
249     are used from a different task/thread than the OpenLibrary()
250     of codesets.library was done.
252 2006-02-14  Jens Langner <Jens.Langner@light-speed.de>
254   * misc: implemented a private codeset management facility. Now
255     codeset.library will automatically scan an eventually existing
256     PROGDIR:Charsets and if present will load those codesets in a
257     per-task private list of codesets which will be added to the
258     global list of supported codesets as well.
259   * misc: implemented new CodesetsConvertStrA() library function which
260     will allow to specify a source and destination codeset as well as
261     a source string. The source string is then automatically converted
262     to the supplied destination string. This in turn should give a
263     plenty transparent method to convert strings from one codeset
264     to another.
265   * added the UTF-8 codeset to the internal list of supported codesets.
266     However, as the UTF-8 codeset is a very central codeset it is
267     treated special in such case that if UTF8Create() is used with a
268     string that is already encoded in UTF8, false will be returned.
270 2005-12-16  Jens Langner <Jens.Langner@light-speed.de>
272   * init.c: changed the system default charset identification routines
273     to use the GetDiskFontCtrl() function on AmigaOS4 to find out
274     the currently active system charset. In addition, if this
275     identification fails it will try to find out the charset by falling
276     back to checking ENV:CHARSET, then using ENV:LANGUAGE to parse ther
277     internal language<>codeset list and if this also fails it will
278     directly use locale.library to find out the language to check
279     our own internal fallback tables for default charset<>language
280     mapping.
281   * codesets.c: if running on AmigaOS4, codesets.library will now
282     automatically query diskfont.library for the existing codesets
283     and also load all existing mapping tables accordingly. It will
284     also check if all internally known codesets are already present
285     and if one of it was not loaded through diskfont.library, the
286     internal mapping tables will be used as well.
287   * debug.c,h: added a whole debugging output system adapted and
288     relicensed from the YAM project. Now an environment variable
289     can be usd (ENV:codesets.library.debug) to place debugging
290     tags and allow to differniate which output should be displayed
291     during runtime and which one not. This should hopefully make
292     the debugging of the library much more easier.
294 2005-12-14  Jens Langner <Jens.Langner@light-speed.de>
296   * codesets.c, codesets_table.h: updated internal codesets
297     implementations in accordance to the latest implementation in
298     SimpleMail. Now codesets.library also supports the Amiga-1251
299     and ISO-8859-16.
300   * misc: did some general housekeeping code cleanups.
302 2005-12-11  Jens Langner <Jens.Langner@light-speed.de>
304   * developer/examples: ported the demo1.c application to all our
305     supported platforms
306   * include/SDI_*.h: update SDI headers to latest versions.
308 2005-12-08  Jens Langner <Jens.Langner@light-speed.de>
310   * bumped version to v6 as the GCC/OS4 porting may introduce some
311     oddities which we might eliminate during the v6 release cycle.
312     Please note that this first OS3/GCC and OS4 porting effort may
313     still contain some oddities here and there as large portions are
314     still untested. However, we may have some time to fix step by step
315     until we can prepare a v6.0 release.
316   * got rid of all common compiler warnings which should make bug
317     hunting much more easier.
318   * restructed sources to use othe latest SDI-headers for easily
319     maintaining the sources for all three platforms without
320     introducing heaps to #ifdef's.
321   * dropped all "register" attribute usages as modern compilers like
322     GCC normally know where to put variables on registers and where not
323     so these attributes are anyway not necessary.
324   * dropped smakefile and all 68k ASM parts as we are moving towards
325     building with GCC for all targets.
326   * restructed the build environment of codesets.library to use
327     GCC for all three major platforms (OS3/OS4/MOS). Also dropped
328     the SAS/C build process. Sorry, but SAS/C is really way too old
329     and too buggy to still be considered a sensible compiler and
330     maintaining codesets.library for the very same compiler should
331     eliminate some problems in future, too.
332   * partly applied OS4 porting patch supplied by Alexandre Balaban.
334 2005-11-23  Alfonso Ranieri <alforan@tin.it>
336   * initial checkin of LGPLed sources