Changeset 1763


Ignore:
Timestamp:
Jan 17, 2005, 2:48:39 AM (21 years ago)
Author:
bird
Message:

CODESET.

Location:
trunk/src/emx
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/ChangeLog.LIBC

    • Property cvs2svn:cvs-rev changed from 1.7 to 1.8
    r1762 r1763  
    88        o Check if fxsave/fxrstor is supported before using them in fork().
    99          ASSUMES cpuid eax=1 works on all targets.
     10        o Implemented nl_langinfo(CODESET).
     11        o Added bunch a of ASCII codeset name conversions.
    1012
    11132004-12-20: knut st. osmundsen <bird-gccos2-spam@anduin.net>
  • trunk/src/emx/src/lib/locale/__convcp.c

    • Property cvs2svn:cvs-rev changed from 1.7 to 1.8
    r1762 r1763  
    4141    {   /* pszAlias   ->      pszIBM */
    4242        { "SYSTEM",           ""},
    43         { "ASCII",            "IBM-367"},
    44         { "UTF-8",            "IBM-1208"},
    45         { "UCS-2",            "IBM-1200"},
    46         { "UCS-2BE",          "IBM-1200@endian=big"},
    47         { "UCS-2LE",          "IBM-1200@endian=little"},
    48         { "EUC-JP",           "IBM-954"},
    49         { "EUC-KR",           "IBM-970"},
    50         { "EUC-TW",           "IBM-964"},
    51         { "EUC-CN",           "IBM-1383"},
    52         { "BIG5",             "IBM-950"},
     43        /* different ways of saying ASCII */
     44        { "ASCII",              "IBM-367"},
     45        { "US-ASCII",           "IBM-367"},
     46        { "ISO-646-US",         "IBM-367"},
     47        { "ANSI_X3.4-1986",     "IBM-367"},
     48        { "ISO-IR-6",           "IBM-367"},
     49        { "ANSI_X3.4-1968",     "IBM-367"},
     50        { "ISO_646.IRV:1991",   "IBM-367"},
     51        { "ISO646-US",          "IBM-367"},
     52        { "IBM367",             "IBM-367"},
     53        { "CP367",              "IBM-367"},
     54        { "UTF-8",              "IBM-1208"},
     55        { "UCS-2",              "IBM-1200"},
     56        { "UCS-2BE",            "IBM-1200@endian=big"},
     57        { "UCS-2LE",            "IBM-1200@endian=little"},
     58        { "EUC-JP",             "IBM-954"},
     59        { "EUC-KR",             "IBM-970"},
     60        { "EUC-TW",             "IBM-964"},
     61        { "EUC-CN",             "IBM-1383"},
     62        { "BIG5",               "IBM-950"},
    5363    };
    5464    unsigned    i;
  • trunk/src/emx/src/lib/locale/locale_ctype.c

    • Property cvs2svn:cvs-rev changed from 1.12 to 1.13
    r1762 r1763  
    213213    .uobj = 0,
    214214    .lobj = 0,
    215     .mbcs = 0
     215    .mbcs = 0,
     216    .szCodeSet = "US-ASCII"
    216217};
    217218
     
    591592    printf("    .uobj = 0,\n"
    592593           "    .lobj = 0,\n"
    593            "    .mbcs = %d\n"
     594           "    .mbcs = %d,\n"
     595           "    .szCodeSet = \"US-ASCII\"\n"
    594596           "};\n"
    595597           "\n"
  • trunk/src/emx/src/lib/locale/locale_ctype_default.c

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r1762 r1763  
    210210    .uobj = 0,
    211211    .lobj = 0,
    212     .mbcs = 0
     212    .mbcs = 0,
     213    .szCodeSet = "US-ASCII"
    213214};
    214215
  • trunk/src/emx/src/lib/locale/nl_langinfo.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1762 r1763  
    109109
    110110        case CODESET:
    111             //todo
    112             break;
     111            return __libc_GLocaleCtype.szCodeSet;
    113112
    114113        case T_FMT_AMPM:
  • trunk/src/emx/src/lib/locale/setlocale.c

    • Property cvs2svn:cvs-rev changed from 1.9 to 1.10
    r1762 r1763  
    213213                                      UniChar (*pfnTransFunc) (LocaleObject, UniChar),
    214214                                      UniChar uc, unsigned char uchFallback);
    215 static int localeCtypeDo(__LIBC_PLOCALECTYPE pCtype, UconvObject uobj, LocaleObject lobj, const char *pszLocale);
     215static int localeCtypeDo(__LIBC_PLOCALECTYPE pCtype, UconvObject uobj, LocaleObject lobj, const char *pszLocale, const char *pszCodeset);
    216216static void localeCtypeFree(__LIBC_PLOCALECTYPE pCtype);
    217217static int query_item(LocaleObject lobj, UconvObject uobj, LocaleItem iItem, char **ppszOut);
     
    484484 * @param   uobj            The UconvObject to use. Ctype is responsible for freeing it.
    485485 * @param   lobj            The LocaleObject to use. Ctype is responsible for freeing it.
    486  */
    487 static int localeCtypeDo(__LIBC_PLOCALECTYPE pCtype, UconvObject uobj, LocaleObject lobj, const char *pszLocale)
     486 * @param   pszCodeset      The codeset used.
     487 */
     488static int localeCtypeDo(__LIBC_PLOCALECTYPE pCtype, UconvObject uobj, LocaleObject lobj, const char *pszLocale, const char *pszCodeset)
    488489{
    489490    int         rc;
     
    511512
    512513    /*
    513      * Query encoding.
    514      */
     514     * Set codeset and query encoding.
     515     */
     516    strncpy(pCtype->szCodeSet, pszCodeset, sizeof(pCtype->szCodeSet));
     517    pCtype->szCodeSet[sizeof(pCtype->szCodeSet) - 1] = '\0';
     518
    515519    uconv_attribute_t   attr;
    516520    rc = UniQueryUconvObject(uobj, &attr, sizeof(attr), NULL, NULL, NULL);
     
    12081212
    12091213        case LC_CTYPE:
    1210             rc = localeCtypeDo(&pTemp->Ctype, uobj, lobj, pszLocale);
     1214            rc = localeCtypeDo(&pTemp->Ctype, uobj, lobj, pszLocale, &szCodepageActual[0]);
    12111215            fFree = rc != 0;
    12121216            break;
Note: See TracChangeset for help on using the changeset viewer.