diff -r aa153b827d17 Include/unicodeobject.h --- a/Include/unicodeobject.h Fri Jun 22 22:49:12 2012 -0500 +++ b/Include/unicodeobject.h Sat Jun 23 11:04:31 2012 +0300 @@ -1013,7 +1013,7 @@ ); #ifndef Py_LIMITED_API -PyAPI_FUNC(void*) _PyUnicode_AsKind(PyObject *s, unsigned int kind); +PyAPI_FUNC(void*) _PyUnicode_AsKind(PyObject *s, enum PyUnicode_Kind kind); #endif #endif diff -r aa153b827d17 Modules/_csv.c --- a/Modules/_csv.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/_csv.c Sat Jun 23 11:04:31 2012 +0300 @@ -774,7 +774,7 @@ PyObject *fields = NULL; Py_UCS4 c; Py_ssize_t pos, linelen; - unsigned int kind; + enum PyUnicode_Kind kind; void *data; PyObject *lineobj; @@ -973,7 +973,8 @@ * record length. */ static Py_ssize_t -join_append_data(WriterObj *self, unsigned int field_kind, void *field_data, +join_append_data(WriterObj *self, + enum PyUnicode_Kind field_kind, void *field_data, Py_ssize_t field_len, int quote_empty, int *quoted, int copy_phase) { @@ -1093,7 +1094,7 @@ static int join_append(WriterObj *self, PyObject *field, int *quoted, int quote_empty) { - unsigned int field_kind = -1; + enum PyUnicode_Kind field_kind = -1; void *field_data = NULL; Py_ssize_t field_len = 0; Py_ssize_t rec_len; @@ -1123,7 +1124,7 @@ join_append_lineterminator(WriterObj *self) { Py_ssize_t terminator_len, i; - unsigned int term_kind; + enum PyUnicode_Kind term_kind; void *term_data; terminator_len = PyUnicode_GET_LENGTH(self->dialect->lineterminator); diff -r aa153b827d17 Modules/_elementtree.c --- a/Modules/_elementtree.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/_elementtree.c Sat Jun 23 11:04:31 2012 +0300 @@ -869,7 +869,7 @@ if (PyUnicode_Check(tag)) { const Py_ssize_t len = PyUnicode_GET_LENGTH(tag); void *data = PyUnicode_DATA(tag); - unsigned int kind = PyUnicode_KIND(tag); + enum PyUnicode_Kind kind = PyUnicode_KIND(tag); for (i = 0; i < len; i++) { Py_UCS4 ch = PyUnicode_READ(kind, data, i); if (ch == '{') @@ -2947,7 +2947,7 @@ unsigned char s[256]; int i; void *data; - unsigned int kind; + enum PyUnicode_Kind kind; memset(info, 0, sizeof(XML_Encoding)); diff -r aa153b827d17 Modules/_io/_iomodule.h --- a/Modules/_io/_iomodule.h Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/_io/_iomodule.h Sat Jun 23 11:04:31 2012 +0300 @@ -55,7 +55,7 @@ Otherwise, the function will scan further and return garbage. */ extern Py_ssize_t _PyIO_find_line_ending( int translated, int universal, PyObject *readnl, - int kind, char *start, char *end, Py_ssize_t *consumed); + enum PyUnicode_Kind kind, char *start, char *end, Py_ssize_t *consumed); #define DEFAULT_BUFFER_SIZE (8 * 1024) /* bytes */ diff -r aa153b827d17 Modules/_io/textio.c --- a/Modules/_io/textio.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/_io/textio.c Sat Jun 23 11:04:31 2012 +0300 @@ -301,7 +301,7 @@ output_len = PyUnicode_GET_LENGTH(output); if (self->pendingcr && (final || output_len > 0)) { /* Prefix output with CR */ - int kind; + enum PyUnicode_Kind kind; PyObject *modified; char *out; @@ -311,7 +311,7 @@ goto error; kind = PyUnicode_KIND(modified); out = PyUnicode_DATA(modified); - PyUnicode_WRITE(kind, PyUnicode_DATA(modified), 0, '\r'); + PyUnicode_WRITE(kind, out, 0, '\r'); memcpy(out + kind, PyUnicode_DATA(output), kind * output_len); Py_DECREF(output); output = modified; /* output remains ready */ @@ -342,7 +342,7 @@ Py_ssize_t len; int seennl = self->seennl; int only_lf = 0; - int kind; + enum PyUnicode_Kind kind; in_str = PyUnicode_DATA(output); len = PyUnicode_GET_LENGTH(output); @@ -417,7 +417,7 @@ } else { void *translated; - int kind = PyUnicode_KIND(output); + kind = PyUnicode_KIND(output); void *in_str = PyUnicode_DATA(output); Py_ssize_t in, out; /* XXX: Previous in-place translation here is disabled as @@ -1600,7 +1600,7 @@ that is to the NUL character. Otherwise the function will produce incorrect results. */ static char * -find_control_char(int kind, char *s, char *end, Py_UCS4 ch) +find_control_char(enum PyUnicode_Kind kind, char *s, char *end, Py_UCS4 ch) { if (kind == PyUnicode_1BYTE_KIND) { assert(ch < 256); @@ -1620,7 +1620,7 @@ Py_ssize_t _PyIO_find_line_ending( int translated, int universal, PyObject *readnl, - int kind, char *start, char *end, Py_ssize_t *consumed) + enum PyUnicode_Kind kind, char *start, char *end, Py_ssize_t *consumed) { Py_ssize_t len = ((char*)end - (char*)start)/kind; @@ -1720,7 +1720,7 @@ while (1) { char *ptr; Py_ssize_t line_len; - int kind; + enum PyUnicode_Kind kind; Py_ssize_t consumed = 0; /* First, get some data if necessary */ diff -r aa153b827d17 Modules/_json.c --- a/Modules/_json.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/_json.c Sat Jun 23 11:04:31 2012 +0300 @@ -204,7 +204,7 @@ PyObject *rval; void *input; unsigned char *output; - int kind; + enum PyUnicode_Kind kind; if (PyUnicode_READY(pystr) == -1) return NULL; @@ -331,7 +331,7 @@ Py_ssize_t begin = end - 1; Py_ssize_t next /* = begin */; const void *buf; - int kind; + enum PyUnicode_Kind kind; PyObject *chunks = NULL; PyObject *chunk = NULL; @@ -613,7 +613,7 @@ Returns a new PyObject (usually a dict, but object_hook can change that) */ void *str; - int kind; + enum PyUnicode_Kind kind; Py_ssize_t end_idx; PyObject *val = NULL; PyObject *rval = NULL; @@ -755,7 +755,7 @@ Returns a new PyList */ void *str; - int kind; + enum PyUnicode_Kind kind; Py_ssize_t end_idx; PyObject *val = NULL; PyObject *rval = PyList_New(0); @@ -858,7 +858,7 @@ May return other types if parse_int or parse_float are set */ void *str; - int kind; + enum PyUnicode_Kind kind; Py_ssize_t end_idx; Py_ssize_t idx = start; int is_float = 0; @@ -975,7 +975,7 @@ */ PyObject *res; void *str; - int kind; + enum PyUnicode_Kind kind; Py_ssize_t length; if (PyUnicode_READY(pystr) == -1) diff -r aa153b827d17 Modules/_pickle.c --- a/Modules/_pickle.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/_pickle.c Sat Jun 23 11:04:31 2012 +0300 @@ -1814,7 +1814,7 @@ char *p; Py_ssize_t i, size, expandsize; void *data; - unsigned int kind; + enum PyUnicode_Kind kind; if (PyUnicode_READY(obj)) return NULL; diff -r aa153b827d17 Modules/_sqlite/connection.c --- a/Modules/_sqlite/connection.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/_sqlite/connection.c Sat Jun 23 11:04:31 2012 +0300 @@ -1440,7 +1440,7 @@ _Py_IDENTIFIER(upper); char *uppercase_name_str; int rc; - unsigned int kind; + enum PyUnicode_Kind kind; void *data; if (!pysqlite_check_thread(self) || !pysqlite_check_connection(self)) { diff -r aa153b827d17 Modules/_tkinter.c --- a/Modules/_tkinter.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/_tkinter.c Sat Jun 23 11:04:31 2012 +0300 @@ -965,7 +965,7 @@ else if (PyUnicode_Check(value)) { void *inbuf; Py_ssize_t size; - int kind; + enum PyUnicode_Kind kind; Tcl_UniChar *outbuf = NULL; Py_ssize_t i; size_t allocsize; diff -r aa153b827d17 Modules/operator.c --- a/Modules/operator.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/operator.c Sat Jun 23 11:04:31 2012 +0300 @@ -403,7 +403,7 @@ PyObject *item = PyTuple_GET_ITEM(args, idx); Py_ssize_t item_len; void *data; - unsigned int kind; + enum PyUnicode_Kind kind; int dot_count; if (!PyUnicode_Check(item)) { diff -r aa153b827d17 Modules/pyexpat.c --- a/Modules/pyexpat.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/pyexpat.c Sat Jun 23 11:04:31 2012 +0300 @@ -1102,7 +1102,7 @@ PyUnicodeObject *_u_string = NULL; int result = 0; int i; - int kind; + enum PyUnicode_Kind kind; void *data; /* Yes, supports only 8bit encodings */ diff -r aa153b827d17 Modules/unicodedata.c --- a/Modules/unicodedata.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Modules/unicodedata.c Sat Jun 23 11:04:31 2012 +0300 @@ -497,7 +497,7 @@ PyObject *result; Py_UCS4 *output; Py_ssize_t i, o, osize; - int kind; + enum PyUnicode_Kind kind; void *data; /* Longest decomposition in Unicode 3.2: U+FDFA */ Py_UCS4 stack[20]; @@ -637,7 +637,7 @@ nfc_nfkc(PyObject *self, PyObject *input, int k) { PyObject *result; - int kind; + enum PyUnicode_Kind kind; void *data; Py_UCS4 *output; Py_ssize_t i, i1, o, len; @@ -773,7 +773,7 @@ is_normalized(PyObject *self, PyObject *input, int nfc, int k) { Py_ssize_t i, len; - int kind; + enum PyUnicode_Kind kind; void *data; unsigned char prev_combining = 0, quickcheck_mask; diff -r aa153b827d17 Objects/bytearrayobject.c --- a/Objects/bytearrayobject.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Objects/bytearrayobject.c Sat Jun 23 11:04:31 2012 +0300 @@ -2692,7 +2692,7 @@ Py_ssize_t hexlen, byteslen, i, j; int top, bot; void *data; - unsigned int kind; + enum PyUnicode_Kind kind; if (!PyArg_ParseTuple(args, "U:fromhex", &hexobj)) return NULL; diff -r aa153b827d17 Objects/bytesobject.c --- a/Objects/bytesobject.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Objects/bytesobject.c Sat Jun 23 11:04:31 2012 +0300 @@ -2372,7 +2372,7 @@ Py_ssize_t hexlen, byteslen, i, j; int top, bot; void *data; - unsigned int kind; + enum PyUnicode_Kind kind; if (!PyArg_ParseTuple(args, "U:fromhex", &hexobj)) return NULL; diff -r aa153b827d17 Objects/exceptions.c --- a/Objects/exceptions.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Objects/exceptions.c Sat Jun 23 11:04:31 2012 +0300 @@ -1274,7 +1274,7 @@ my_basename(PyObject *name) { Py_ssize_t i, size, offset; - int kind; + enum PyUnicode_Kind kind; void *data; if (PyUnicode_READY(name)) diff -r aa153b827d17 Objects/unicodeobject.c --- a/Objects/unicodeobject.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Objects/unicodeobject.c Sat Jun 23 11:04:31 2012 +0300 @@ -295,7 +295,7 @@ _PyUnicode_CheckConsistency(PyObject *op, int check_content) { PyASCIIObject *ascii; - unsigned int kind; + enum PyUnicode_Kind kind; assert(PyUnicode_Check(op)); @@ -538,7 +538,7 @@ (BLOOM(bloom_linebreak, (ch)) && Py_UNICODE_ISLINEBREAK(ch))) Py_LOCAL_INLINE(BLOOM_MASK) -make_bloom_mask(int kind, void* ptr, Py_ssize_t len) +make_bloom_mask(enum PyUnicode_Kind kind, void* ptr, Py_ssize_t len) { /* calculate simple bloom-style bitmask for a given unicode string */ @@ -609,7 +609,7 @@ static PyObject * fixup(PyObject *self, Py_UCS4 (*fixfct)(PyObject *s)); -Py_LOCAL_INLINE(Py_ssize_t) findchar(void *s, int kind, +Py_LOCAL_INLINE(Py_ssize_t) findchar(void *s, enum PyUnicode_Kind kind, Py_ssize_t size, Py_UCS4 ch, int direction) { @@ -1126,7 +1126,7 @@ PyObject *from, Py_ssize_t from_start, Py_ssize_t how_many, int check_maxchar) { - unsigned int from_kind, to_kind; + enum PyUnicode_Kind from_kind, to_kind; void *from_data, *to_data; assert(0 <= how_many); @@ -1856,7 +1856,7 @@ } static Py_UCS4 -kind_maxchar_limit(unsigned int kind) +kind_maxchar_limit(enum PyUnicode_Kind kind) { switch (kind) { case PyUnicode_1BYTE_KIND: @@ -2051,7 +2051,7 @@ PyObject *unicode, *copy; Py_UCS4 max_char; Py_ssize_t len; - unsigned int kind; + enum PyUnicode_Kind kind; assert(p_unicode != NULL); unicode = *p_unicode; @@ -2117,11 +2117,11 @@ character. Return NULL on error. */ void* -_PyUnicode_AsKind(PyObject *s, unsigned int kind) +_PyUnicode_AsKind(PyObject *s, enum PyUnicode_Kind kind) { Py_ssize_t len; void *result; - unsigned int skind; + enum PyUnicode_Kind skind; if (PyUnicode_READY(s) == -1) return NULL; @@ -2175,7 +2175,7 @@ as_ucs4(PyObject *string, Py_UCS4 *target, Py_ssize_t targetsize, int copy_null) { - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t len, targetlen; if (PyUnicode_READY(string) == -1) @@ -2393,7 +2393,7 @@ char *numberresults = NULL; char *numberresult = NULL; Py_ssize_t i; - int kind; + enum PyUnicode_Kind kind; void *data; Py_VA_COPY(count, vargs); @@ -4486,7 +4486,7 @@ int base64WhiteSpace, const char *errors) { - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t len; PyObject *v; @@ -4740,7 +4740,7 @@ s += outpos; while (s < end) { Py_UCS4 ch; - int kind = PyUnicode_KIND(unicode); + enum PyUnicode_Kind kind = PyUnicode_KIND(unicode); if (kind == PyUnicode_1BYTE_KIND) { if (PyUnicode_IS_ASCII(unicode)) ch = asciilib_utf8_decode(&s, end, @@ -5088,7 +5088,7 @@ const char *errors, int byteorder) { - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t len; PyObject *v; @@ -5255,7 +5255,7 @@ while (1) { Py_UCS4 ch = 0; if (e - q >= 2) { - int kind = PyUnicode_KIND(unicode); + enum PyUnicode_Kind kind = PyUnicode_KIND(unicode); if (kind == PyUnicode_1BYTE_KIND) { if (PyUnicode_IS_ASCII(unicode)) ch = asciilib_utf16_decode(&q, e, @@ -5769,7 +5769,7 @@ Py_ssize_t i, len; PyObject *repr; char *p; - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t expandsize = 0; @@ -5800,6 +5800,7 @@ case PyUnicode_1BYTE_KIND: expandsize = 4; break; case PyUnicode_2BYTE_KIND: expandsize = 6; break; case PyUnicode_4BYTE_KIND: expandsize = 10; break; + default: assert(0); } if (len == 0) @@ -6016,7 +6017,7 @@ char *p; char *q; Py_ssize_t expandsize, pos; - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t len; @@ -6317,7 +6318,7 @@ { /* input state */ Py_ssize_t pos=0, size; - int kind; + enum PyUnicode_Kind kind; void *data; /* output object */ PyObject *res; @@ -6554,7 +6555,7 @@ { const char *starts = s; PyObject *unicode; - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t startinpos; Py_ssize_t endinpos; @@ -7694,7 +7695,7 @@ unsigned char level2[512]; unsigned char *mlevel1, *mlevel2, *mlevel3; int count2 = 0, count3 = 0; - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t length; Py_UCS4 ch; @@ -8424,7 +8425,7 @@ /* input object */ char *idata; Py_ssize_t size, i; - int kind; + enum PyUnicode_Kind kind; /* output buffer */ Py_UCS4 *output = NULL; Py_ssize_t osize; @@ -8614,7 +8615,7 @@ /* No need to call PyUnicode_READY(self) because this function is only called as a callback from fixup() which does it already. */ const Py_ssize_t len = PyUnicode_GET_LENGTH(self); - const int kind = PyUnicode_KIND(self); + const enum PyUnicode_Kind kind = PyUnicode_KIND(self); void *data = PyUnicode_DATA(self); Py_UCS4 maxchar = 127, ch, fixed; int modified = 0; @@ -8776,7 +8777,7 @@ Py_ssize_t start, Py_ssize_t end) { - int kind1, kind2, kind; + enum PyUnicode_Kind kind, kind1, kind2; void *buf1, *buf2; Py_ssize_t len1, len2, result; @@ -8852,7 +8853,7 @@ const char *grouping, PyObject *thousands_sep, Py_UCS4 *maxchar) { - unsigned int kind, thousands_sep_kind; + enum PyUnicode_Kind kind, thousands_sep_kind; char *data, *thousands_sep_data; Py_ssize_t thousands_sep_len; Py_ssize_t len; @@ -8951,7 +8952,7 @@ Py_ssize_t result; PyObject* str_obj; PyObject* sub_obj; - int kind1, kind2, kind; + enum PyUnicode_Kind kind, kind1, kind2; void *buf1 = NULL, *buf2 = NULL; Py_ssize_t len1, len2; @@ -9070,7 +9071,7 @@ Py_ssize_t start, Py_ssize_t end, int direction) { - int kind; + enum PyUnicode_Kind kind; Py_ssize_t result; if (PyUnicode_READY(str) == -1) return -2; @@ -9096,13 +9097,9 @@ Py_ssize_t end, int direction) { - int kind_self; - int kind_sub; - void *data_self; - void *data_sub; - Py_ssize_t offset; - Py_ssize_t i; - Py_ssize_t end_sub; + enum PyUnicode_Kind kind_self, kind_sub; + void *data_self, *data_sub; + Py_ssize_t offset, i, end_sub; if (PyUnicode_READY(self) == -1 || PyUnicode_READY(substring) == -1) @@ -9264,7 +9261,8 @@ } static Py_UCS4 -handle_capital_sigma(int kind, void *data, Py_ssize_t length, Py_ssize_t i) +handle_capital_sigma(enum PyUnicode_Kind kind, void *data, + Py_ssize_t length, Py_ssize_t i) { Py_ssize_t j; int final_sigma; @@ -9293,8 +9291,8 @@ } static int -lower_ucs4(int kind, void *data, Py_ssize_t length, Py_ssize_t i, - Py_UCS4 c, Py_UCS4 *mapped) +lower_ucs4(enum PyUnicode_Kind kind, void *data, Py_ssize_t length, + Py_ssize_t i, Py_UCS4 c, Py_UCS4 *mapped) { /* Obscure special case. */ if (c == 0x3A3) { @@ -9305,7 +9303,8 @@ } static Py_ssize_t -do_capitalize(int kind, void *data, Py_ssize_t length, Py_UCS4 *res, Py_UCS4 *maxchar) +do_capitalize(enum PyUnicode_Kind kind, void *data, Py_ssize_t length, + Py_UCS4 *res, Py_UCS4 *maxchar) { Py_ssize_t i, k = 0; int n_res, j; @@ -9329,7 +9328,8 @@ } static Py_ssize_t -do_swapcase(int kind, void *data, Py_ssize_t length, Py_UCS4 *res, Py_UCS4 *maxchar) { +do_swapcase(enum PyUnicode_Kind kind, void *data, Py_ssize_t length, + Py_UCS4 *res, Py_UCS4 *maxchar) { Py_ssize_t i, k = 0; for (i = 0; i < length; i++) { @@ -9354,8 +9354,8 @@ } static Py_ssize_t -do_upper_or_lower(int kind, void *data, Py_ssize_t length, Py_UCS4 *res, - Py_UCS4 *maxchar, int lower) +do_upper_or_lower(enum PyUnicode_Kind kind, void *data, Py_ssize_t length, + Py_UCS4 *res, Py_UCS4 *maxchar, int lower) { Py_ssize_t i, k = 0; @@ -9375,19 +9375,22 @@ } static Py_ssize_t -do_upper(int kind, void *data, Py_ssize_t length, Py_UCS4 *res, Py_UCS4 *maxchar) +do_upper(enum PyUnicode_Kind kind, void *data, Py_ssize_t length, + Py_UCS4 *res, Py_UCS4 *maxchar) { return do_upper_or_lower(kind, data, length, res, maxchar, 0); } static Py_ssize_t -do_lower(int kind, void *data, Py_ssize_t length, Py_UCS4 *res, Py_UCS4 *maxchar) +do_lower(enum PyUnicode_Kind kind, void *data, Py_ssize_t length, + Py_UCS4 *res, Py_UCS4 *maxchar) { return do_upper_or_lower(kind, data, length, res, maxchar, 1); } static Py_ssize_t -do_casefold(int kind, void *data, Py_ssize_t length, Py_UCS4 *res, Py_UCS4 *maxchar) +do_casefold(enum PyUnicode_Kind kind, void *data, Py_ssize_t length, + Py_UCS4 *res, Py_UCS4 *maxchar) { Py_ssize_t i, k = 0; @@ -9404,7 +9407,8 @@ } static Py_ssize_t -do_title(int kind, void *data, Py_ssize_t length, Py_UCS4 *res, Py_UCS4 *maxchar) +do_title(enum PyUnicode_Kind kind, void *data, Py_ssize_t length, + Py_UCS4 *res, Py_UCS4 *maxchar) { Py_ssize_t i, k = 0; int previous_is_cased; @@ -9432,11 +9436,12 @@ static PyObject * case_operation(PyObject *self, - Py_ssize_t (*perform)(int, void *, Py_ssize_t, Py_UCS4 *, Py_UCS4 *)) + Py_ssize_t (*perform)(enum PyUnicode_Kind, void *, Py_ssize_t, + Py_UCS4 *, Py_UCS4 *)) { PyObject *res = NULL; Py_ssize_t length, newlength = 0; - int kind, outkind; + enum PyUnicode_Kind kind, outkind; void *data, *outdata; Py_UCS4 maxchar = 0, *tmp, *tmpend; @@ -9490,7 +9495,7 @@ int use_memcpy; unsigned char *res_data = NULL, *sep_data = NULL; PyObject *last_obj; - unsigned int kind = 0; + enum PyUnicode_Kind kind = 0; fseq = PySequence_Fast(seq, ""); if (fseq == NULL) { @@ -9737,7 +9742,7 @@ { PyObject *u; Py_UCS4 maxchar; - int kind; + enum PyUnicode_Kind kind; void *data; if (left < 0) @@ -9817,7 +9822,7 @@ PyObject *substring, Py_ssize_t maxcount) { - int kind1, kind2, kind; + enum PyUnicode_Kind kind, kind1, kind2; void *buf1, *buf2; Py_ssize_t len1, len2; PyObject* out; @@ -9909,7 +9914,7 @@ PyObject *substring, Py_ssize_t maxcount) { - int kind1, kind2, kind; + enum PyUnicode_Kind kind, kind1, kind2; void *buf1, *buf2; Py_ssize_t len1, len2; PyObject* out; @@ -9997,7 +10002,7 @@ } static Py_ssize_t -anylib_find(int kind, PyObject *str1, void *buf1, Py_ssize_t len1, +anylib_find(enum PyUnicode_Kind kind, PyObject *str1, void *buf1, Py_ssize_t len1, PyObject *str2, void *buf2, Py_ssize_t len2, Py_ssize_t offset) { switch (kind) { @@ -10010,13 +10015,14 @@ return ucs2lib_find(buf1, len1, buf2, len2, offset); case PyUnicode_4BYTE_KIND: return ucs4lib_find(buf1, len1, buf2, len2, offset); - } - assert(0); - return -1; + default: + assert(0); + return -1; + } } static Py_ssize_t -anylib_count(int kind, PyObject *sstr, void* sbuf, Py_ssize_t slen, +anylib_count(enum PyUnicode_Kind kind, PyObject *sstr, void* sbuf, Py_ssize_t slen, PyObject *str1, void *buf1, Py_ssize_t len1, Py_ssize_t maxcount) { switch (kind) { @@ -10029,9 +10035,10 @@ return ucs2lib_count(sbuf, slen, buf1, len1, maxcount); case PyUnicode_4BYTE_KIND: return ucs4lib_count(sbuf, slen, buf1, len1, maxcount); - } - assert(0); - return 0; + default: + assert(0); + return -1; + } } static PyObject * @@ -10043,9 +10050,9 @@ char *buf1 = PyUnicode_DATA(str1); char *buf2 = PyUnicode_DATA(str2); int srelease = 0, release1 = 0, release2 = 0; - int skind = PyUnicode_KIND(self); - int kind1 = PyUnicode_KIND(str1); - int kind2 = PyUnicode_KIND(str2); + enum PyUnicode_Kind skind = PyUnicode_KIND(self); + enum PyUnicode_Kind kind1 = PyUnicode_KIND(str1); + enum PyUnicode_Kind kind2 = PyUnicode_KIND(str2); Py_ssize_t slen = PyUnicode_GET_LENGTH(self); Py_ssize_t len1 = PyUnicode_GET_LENGTH(str1); Py_ssize_t len2 = PyUnicode_GET_LENGTH(str2); @@ -10077,7 +10084,7 @@ if (len1 == 1) { /* replace characters */ Py_UCS4 u1, u2; - int rkind; + enum PyUnicode_Kind rkind; Py_ssize_t index, pos; char *src; @@ -10108,7 +10115,7 @@ } } else { - int rkind = skind; + enum PyUnicode_Kind rkind = skind; char *res; Py_ssize_t i; @@ -10167,7 +10174,7 @@ else { Py_ssize_t n, i, j, ires; Py_ssize_t product, new_size; - int rkind = skind; + enum PyUnicode_Kind rkind = skind; char *res; if (kind1 < rkind) { @@ -10414,7 +10421,7 @@ static int unicode_compare(PyObject *str1, PyObject *str2) { - int kind1, kind2; + enum PyUnicode_Kind kind1, kind2; void *data1, *data2; Py_ssize_t len1, len2, i; @@ -10457,7 +10464,7 @@ PyUnicode_CompareWithASCIIString(PyObject* uni, const char* str) { Py_ssize_t i; - int kind; + enum PyUnicode_Kind kind; void *data; Py_UCS4 chr; @@ -10544,7 +10551,7 @@ PyUnicode_Contains(PyObject *container, PyObject *element) { PyObject *str, *sub; - int kind1, kind2, kind; + enum PyUnicode_Kind kind, kind1, kind2; void *buf1, *buf2; Py_ssize_t len1, len2; int result; @@ -10777,7 +10784,7 @@ Py_ssize_t start = 0; Py_ssize_t end = PY_SSIZE_T_MAX; PyObject *result; - int kind1, kind2, kind; + enum PyUnicode_Kind kind, kind1, kind2; void *buf1, *buf2; Py_ssize_t len1, len2, iresult; @@ -10872,7 +10879,7 @@ PyObject *u; void *src_data, *dest_data; int tabsize = 8; - int kind; + enum PyUnicode_Kind kind; int found; if (!PyArg_ParseTuple(args, "|i:expandtabs", &tabsize)) @@ -11122,7 +11129,7 @@ unicode_islower(PyObject *self) { Py_ssize_t i, length; - int kind; + enum PyUnicode_Kind kind; void *data; int cased; @@ -11163,7 +11170,7 @@ unicode_isupper(PyObject *self) { Py_ssize_t i, length; - int kind; + enum PyUnicode_Kind kind; void *data; int cased; @@ -11206,7 +11213,7 @@ unicode_istitle(PyObject *self) { Py_ssize_t i, length; - int kind; + enum PyUnicode_Kind kind; void *data; int cased, previous_is_cased; @@ -11260,7 +11267,7 @@ unicode_isspace(PyObject *self) { Py_ssize_t i, length; - int kind; + enum PyUnicode_Kind kind; void *data; if (PyUnicode_READY(self) == -1) @@ -11296,7 +11303,7 @@ unicode_isalpha(PyObject *self) { Py_ssize_t i, length; - int kind; + enum PyUnicode_Kind kind; void *data; if (PyUnicode_READY(self) == -1) @@ -11330,7 +11337,7 @@ static PyObject* unicode_isalnum(PyObject *self) { - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t len, i; @@ -11369,7 +11376,7 @@ unicode_isdecimal(PyObject *self) { Py_ssize_t i, length; - int kind; + enum PyUnicode_Kind kind; void *data; if (PyUnicode_READY(self) == -1) @@ -11404,7 +11411,7 @@ unicode_isdigit(PyObject *self) { Py_ssize_t i, length; - int kind; + enum PyUnicode_Kind kind; void *data; if (PyUnicode_READY(self) == -1) @@ -11440,7 +11447,7 @@ unicode_isnumeric(PyObject *self) { Py_ssize_t i, length; - int kind; + enum PyUnicode_Kind kind; void *data; if (PyUnicode_READY(self) == -1) @@ -11468,7 +11475,7 @@ int PyUnicode_IsIdentifier(PyObject *self) { - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t i; Py_UCS4 first; @@ -11524,7 +11531,7 @@ unicode_isprintable(PyObject *self) { Py_ssize_t i, length; - int kind; + enum PyUnicode_Kind kind; void *data; if (PyUnicode_READY(self) == -1) @@ -11619,7 +11626,7 @@ _PyUnicode_XStrip(PyObject *self, int striptype, PyObject *sepobj) { void *data; - int kind; + enum PyUnicode_Kind kind; Py_ssize_t i, j, len; BLOOM_MASK sepmask; @@ -11657,7 +11664,7 @@ PyUnicode_Substring(PyObject *self, Py_ssize_t start, Py_ssize_t end) { unsigned char *data; - int kind; + enum PyUnicode_Kind kind; Py_ssize_t length; if (PyUnicode_READY(self) == -1) @@ -11695,7 +11702,7 @@ static PyObject * do_strip(PyObject *self, int striptype) { - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t len, i, j; @@ -11828,7 +11835,7 @@ assert(PyUnicode_KIND(u) == PyUnicode_KIND(str)); if (PyUnicode_GET_LENGTH(str) == 1) { - const int kind = PyUnicode_KIND(str); + const enum PyUnicode_Kind kind = PyUnicode_KIND(str); const Py_UCS4 fill_char = PyUnicode_READ(kind, PyUnicode_DATA(str), 0); if (kind == PyUnicode_1BYTE_KIND) { void *to = PyUnicode_DATA(u); @@ -11944,7 +11951,7 @@ Py_ssize_t isize; Py_ssize_t osize, squote, dquote, i, o; Py_UCS4 max, quote; - int ikind, okind; + enum PyUnicode_Kind ikind, okind; void *idata, *odata; if (PyUnicode_READY(unicode) == -1) @@ -12240,7 +12247,7 @@ PyObject* str_obj; PyObject* sep_obj; PyObject* out; - int kind1, kind2, kind; + enum PyUnicode_Kind kind, kind1, kind2; void *buf1 = NULL, *buf2 = NULL; Py_ssize_t len1, len2; @@ -12317,7 +12324,7 @@ PyObject* str_obj; PyObject* sep_obj; PyObject* out; - int kind1, kind2, kind; + enum PyUnicode_Kind kind, kind1, kind2; void *buf1 = NULL, *buf2 = NULL; Py_ssize_t len1, len2; @@ -12525,7 +12532,7 @@ if (!new) return NULL; if (y != NULL) { - int x_kind, y_kind, z_kind; + enum PyUnicode_Kind x_kind, y_kind, z_kind; void *x_data, *y_data, *z_data; /* x must be a string too, of equal length */ @@ -12574,7 +12581,7 @@ } } } else { - int kind; + enum PyUnicode_Kind kind; void *data; /* x must be a dict */ @@ -12661,7 +12668,7 @@ Py_ssize_t fill; PyObject *u; Py_ssize_t width; - int kind; + enum PyUnicode_Kind kind; void *data; Py_UCS4 chr; @@ -13135,7 +13142,7 @@ Py_ssize_t start, stop, step, slicelength, cur, i; PyObject *result; void *src_data, *dest_data; - int src_kind, dest_kind; + enum PyUnicode_Kind src_kind, dest_kind; Py_UCS4 ch, max_char, kind_limit; if (PySlice_GetIndicesEx(item, PyUnicode_GET_LENGTH(self), @@ -13988,7 +13995,7 @@ PyObject *unicode, *self; Py_ssize_t length, char_size; int share_wstr, share_utf8; - unsigned int kind; + enum PyUnicode_Kind kind; void *data; assert(PyType_IsSubtype(type, &PyUnicode_Type)); @@ -14371,7 +14378,7 @@ assert(_PyUnicode_CHECK(seq)); if (it->it_index < PyUnicode_GET_LENGTH(seq)) { - int kind = PyUnicode_KIND(seq); + enum PyUnicode_Kind kind = PyUnicode_KIND(seq); void *data = PyUnicode_DATA(seq); Py_UCS4 chr = PyUnicode_READ(kind, data, it->it_index); item = PyUnicode_FromOrdinal(chr); diff -r aa153b827d17 Python/_warnings.c --- a/Python/_warnings.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Python/_warnings.c Sat Jun 23 11:04:31 2012 +0300 @@ -500,7 +500,7 @@ *filename = PyDict_GetItemString(globals, "__file__"); if (*filename != NULL && PyUnicode_Check(*filename)) { Py_ssize_t len; - int kind; + enum PyUnicode_Kind kind; void *data; if (PyUnicode_READY(*filename)) diff -r aa153b827d17 Python/ast.c --- a/Python/ast.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Python/ast.c Sat Jun 23 11:04:31 2012 +0300 @@ -3738,7 +3738,7 @@ } if (*s & 0x80) { /* XXX inefficient */ PyObject *w; - int kind; + enum PyUnicode_Kind kind; void *data; Py_ssize_t len, i; w = decode_utf8(c, &s, end); diff -r aa153b827d17 Python/codecs.c --- a/Python/codecs.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Python/codecs.c Sat Jun 23 11:04:31 2012 +0300 @@ -520,7 +520,7 @@ if (PyObject_IsInstance(exc, PyExc_UnicodeEncodeError)) { PyObject *res; - int kind; + enum PyUnicode_Kind kind; void *data; if (PyUnicodeEncodeError_GetStart(exc, &start)) return NULL; @@ -546,7 +546,7 @@ } else if (PyObject_IsInstance(exc, PyExc_UnicodeTranslateError)) { PyObject *res; - int kind; + enum PyUnicode_Kind kind; void *data; if (PyUnicodeTranslateError_GetStart(exc, &start)) return NULL; diff -r aa153b827d17 Python/getargs.c --- a/Python/getargs.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Python/getargs.c Sat Jun 23 11:04:31 2012 +0300 @@ -796,7 +796,7 @@ case 'C': {/* unicode char */ int *p = va_arg(*p_va, int *); - int kind; + enum PyUnicode_Kind kind; void *data; if (!PyUnicode_Check(arg)) diff -r aa153b827d17 Python/import.c --- a/Python/import.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Python/import.c Sat Jun 23 11:04:31 2012 +0300 @@ -877,7 +877,7 @@ Py_ssize_t left, right, dot0, dot1, len; Py_ssize_t i, j; PyObject *result; - int kind; + enum PyUnicode_Kind kind; void *data; len = PyUnicode_GET_LENGTH(path); @@ -1012,7 +1012,7 @@ struct stat statbuf; int err; void *data; - unsigned int kind; + enum PyUnicode_Kind kind; len = PyUnicode_GET_LENGTH(filename); if (len == 0) diff -r aa153b827d17 Python/traceback.c --- a/Python/traceback.c Fri Jun 22 22:49:12 2012 -0500 +++ b/Python/traceback.c Sat Jun 23 11:04:31 2012 +0300 @@ -230,7 +230,7 @@ PyObject *lineobj = NULL; PyObject *res; char buf[MAXPATHLEN+1]; - int kind; + enum PyUnicode_Kind kind; void *data; _Py_IDENTIFIER(close); _Py_IDENTIFIER(open); @@ -485,7 +485,7 @@ PyASCIIObject *ascii = (PyASCIIObject *)text; Py_ssize_t i, size; int truncated; - int kind; + enum PyUnicode_Kind kind; void *data = NULL; wchar_t *wstr = NULL; Py_UCS4 ch;