symbian-qemu-0.9.1-12/python-2.6.1/Objects/stringlib/unicodedefs.h
author johnathan.white@2718R8BGH51.accenture.com
Mon, 08 Mar 2010 18:45:03 +0000
changeset 46 b6935a90ca64
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Modify framebuffer and NGA framebuffer to read screen size from board model dtb file. Optimise memory usuage of frame buffer Add example minigui application with hooks to profiler (which writes results to S:\). Modified NGA framebuffer to run its own dfc queue at high priority

#ifndef STRINGLIB_UNICODEDEFS_H
#define STRINGLIB_UNICODEDEFS_H

/* this is sort of a hack.  there's at least one place (formatting
   floats) where some stringlib code takes a different path if it's
   compiled as unicode. */
#define STRINGLIB_IS_UNICODE     1

#define STRINGLIB_OBJECT         PyUnicodeObject
#define STRINGLIB_CHAR           Py_UNICODE
#define STRINGLIB_TYPE_NAME      "unicode"
#define STRINGLIB_PARSE_CODE     "U"
#define STRINGLIB_EMPTY          unicode_empty
#define STRINGLIB_ISDECIMAL      Py_UNICODE_ISDECIMAL
#define STRINGLIB_TODECIMAL      Py_UNICODE_TODECIMAL
#define STRINGLIB_TOUPPER        Py_UNICODE_TOUPPER
#define STRINGLIB_TOLOWER        Py_UNICODE_TOLOWER
#define STRINGLIB_FILL           Py_UNICODE_FILL
#define STRINGLIB_STR            PyUnicode_AS_UNICODE
#define STRINGLIB_LEN            PyUnicode_GET_SIZE
#define STRINGLIB_NEW            PyUnicode_FromUnicode
#define STRINGLIB_RESIZE         PyUnicode_Resize
#define STRINGLIB_CHECK          PyUnicode_Check
#define STRINGLIB_GROUPING       _PyUnicode_InsertThousandsGrouping

#if PY_VERSION_HEX < 0x03000000
#define STRINGLIB_TOSTR          PyObject_Unicode
#else
#define STRINGLIB_TOSTR          PyObject_Str
#endif

#define STRINGLIB_WANT_CONTAINS_OBJ 1

/* STRINGLIB_CMP was defined as:

Py_LOCAL_INLINE(int)
STRINGLIB_CMP(const Py_UNICODE* str, const Py_UNICODE* other, Py_ssize_t len)
{
    if (str[0] != other[0])
        return 1;
    return memcmp((void*) str, (void*) other, len * sizeof(Py_UNICODE));
}

but unfortunately that gives a error if the function isn't used in a file that
includes this file.  So, reluctantly convert it to a macro instead. */

#define STRINGLIB_CMP(str, other, len) \
    (((str)[0] != (other)[0]) ? \
     1 : \
     memcmp((void*) (str), (void*) (other), (len) * sizeof(Py_UNICODE)))


#endif /* !STRINGLIB_UNICODEDEFS_H */