Programs that were compiled prior to V3R7 use the *CLD locale support. Programs that are compiled with the option LOCALETYPE(*CLD) on the CRTCMOD or CRTBNDC command uses the locale support that is provided by ILE C/C++ for *CLD objects. Programs compiled with the option LOCALETYPE(*LOCALE) on the CRTCMOD/CRTCMODCPP or CRTBNDC/CRTBNDCPP command uses the locale support provided by ILE C/C++ for locales of type *LOCALE.
If you wish to convert your application from using locales of type *CLD to locales of type *LOCALE, the only changes required to your C source code are in calls to setlocale(). However, there are many differences between the locale definition source for *CLD and *LOCALE objects. The *LOCALE definition source members for many language environments are provided by the system in the optionally installable library QSYSLOCALE. You may also convert your existing *CLD locale source to the *LOCALE source definition. See Table 33 for a mapping of the commands in a source file for creating *CLD objects to the corresponding keywords in a source file for creating *LOCALE objects.
An application may use either locales of type *CLD or *LOCALE, but not both. If an ILE C program attempts to use both types of locales, the results are undefined. ILE C++ does not use *CLD. Also, some locale-sensitive functions are only supported when locales of type *LOCALE are used. See Table 35 for a list of locale-sensitive functions.
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.