Ignore:
Timestamp:
Oct 22, 2010, 10:46:09 PM (15 years ago)
Author:
Yuri Dario
Message:

python: use current codepage as charset in locale settings.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/trunk/Modules/_localemodule.c

    r2 r60  
    4040#define WIN32_LEAN_AND_MEAN
    4141#include <windows.h>
     42#endif
     43
     44#if defined(__KLIBC__)
     45#define INCL_DOS
     46#define INCL_DOSERRORS
     47#include <os2.h>
    4248#endif
    4349
     
    445451#endif
    446452
     453#if defined(__KLIBC__)
     454static PyObject*
     455PyLocale_getdefaultlocale(PyObject* self)
     456{
     457    char encoding[100];
     458    char locale[100];
     459    ULONG cp[3];
     460    ULONG cplen;
     461
     462    strcpy( locale, "");
     463    if (getenv("LANG"))
     464        strcpy( locale, getenv("LANG"));
     465
     466    strcpy( encoding, "");
     467    if (DosQueryCp (sizeof (cp), cp, &cplen) == NO_ERROR)
     468        PyOS_snprintf(encoding, sizeof(encoding), "CP%u", cp[0]);
     469
     470    return Py_BuildValue("ss", locale, encoding);
     471}
     472#endif
     473
    447474#ifdef HAVE_LANGINFO_H
    448475#define LANGINFO(X) {#X, X}
     
    690717  {"strxfrm", (PyCFunction) PyLocale_strxfrm,
    691718   METH_VARARGS, strxfrm__doc__},
    692 #if defined(MS_WINDOWS) || defined(__APPLE__)
     719#if defined(MS_WINDOWS) || defined(__APPLE__) || defined(__KLIBC__)
    693720  {"_getdefaultlocale", (PyCFunction) PyLocale_getdefaultlocale, METH_NOARGS},
    694721#endif
Note: See TracChangeset for help on using the changeset viewer.