do { \
switch ((kind)) { \
case PyUnicode_1BYTE_KIND: { \
+ assert(value <= 0xff); \
((Py_UCS1 *)(data))[(index)] = (Py_UCS1)(value); \
break; \
} \
case PyUnicode_2BYTE_KIND: { \
+ assert(value <= 0xffff); \
((Py_UCS2 *)(data))[(index)] = (Py_UCS2)(value); \
break; \
} \
default: { \
+ assert(value <= 0x10ffff); \
assert((kind) == PyUnicode_4BYTE_KIND); \
((Py_UCS4 *)(data))[(index)] = (Py_UCS4)(value); \
} \
Py_ssize_t t;
for (t = 0; t < spec->n_prefix; t++) {
Py_UCS4 c = PyUnicode_READ(kind, data, pos + t);
+ c = Py_TOUPPER(c);
assert (c <= 127);
- PyUnicode_WRITE(kind, data, pos + t, Py_TOUPPER(c));
+ PyUnicode_WRITE(kind, data, pos + t, c);
}
}
pos += spec->n_prefix;
Py_ssize_t t;
for (t = 0; t < spec->n_grouped_digits; t++) {
Py_UCS4 c = PyUnicode_READ(kind, data, pos + t);
+ c = Py_TOUPPER(c);
if (c > 127) {
PyErr_SetString(PyExc_SystemError, "non-ascii grouped digit");
return -1;
}
- PyUnicode_WRITE(kind, data, pos + t, Py_TOUPPER(c));
+ PyUnicode_WRITE(kind, data, pos + t, c);
}
}
pos += spec->n_grouped_digits;
Py_CLEAR(result);
done:
+ assert(!result || _PyUnicode_CheckConsistency(result, 1));
return result;
}
produces non-digits */
Py_ssize_t n_prefix = 0; /* Count of prefix chars, (e.g., '0x') */
Py_ssize_t n_total;
- Py_ssize_t prefix;
+ Py_ssize_t prefix = 0;
NumberFieldWidths spec;
long x;
int err;
done:
Py_XDECREF(tmp);
+ assert(!result || _PyUnicode_CheckConsistency(result, 1));
return result;
}
done:
PyMem_Free(buf);
Py_DECREF(unicode_tmp);
+ assert(!result || _PyUnicode_CheckConsistency(result, 1));
return result;
}
PyMem_Free(im_buf);
Py_XDECREF(re_unicode_tmp);
Py_XDECREF(im_unicode_tmp);
+ assert(!result || _PyUnicode_CheckConsistency(result, 1));
return result;
}