PyStringObject *x = (PyStringObject *)ty->tp_alloc(ty, n);
if (p) memcpy(x->ob_sval, p, n);
x->ob_sval[n] = 0;
-#ifdef CACHE_HASH
+#if defined(CACHE_HASH) || PY_VERSION_HEX >= 0x02030000
x->ob_shash = -1;
#endif
x->ob_sstate = SSTATE_NOT_INTERNED;
PyObject *arg, PyObject *kw)
{
const char *p;
- int n;
+ Py_ssize_t n;
static char *kwlist[] = { "data", 0 };
if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", kwlist, &p, &n))
return (0);