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;
const void *xv, *yv; \
const unsigned char *xp, *yp; \
unsigned char *zp; \
- int xsz, ysz; \
+ Py_ssize_t xsz, ysz; \
int i; \
PyObject *rc = 0; \
if (PyObject_AsReadBuffer(x, &xv, &xsz) || \
const void *xv; \
const unsigned char *xp; \
unsigned char *zp; \
- int xsz; \
+ Py_ssize_t xsz; \
int i; \
PyObject *rc = 0; \
if (PyObject_AsReadBuffer(x, &xv, &xsz)) goto end; \