unicode_aswidecharstring(PyObject *self, PyObject *args)
{
PyObject *unicode, *result;
- Py_ssize_t size = 100;
+ Py_ssize_t size = UNINITIALIZED_SIZE;
wchar_t *buffer;
if (!PyArg_ParseTuple(args, "O", &unicode))
NULLABLE(unicode);
buffer = PyUnicode_AsWideCharString(unicode, &size);
- if (buffer == NULL)
+ if (buffer == NULL) {
+ assert(size == UNINITIALIZED_SIZE);
return NULL;
+ }
result = PyUnicode_FromWideChar(buffer, size + 1);
PyMem_Free(buffer);
PyObject *unicode;
Py_ssize_t buflen;
const char *s;
- Py_ssize_t size = -100;
+ Py_ssize_t size = UNINITIALIZED_SIZE;
if (!PyArg_ParseTuple(args, "On", &unicode, &buflen))
return NULL;
NULLABLE(unicode);
s = PyUnicode_AsUTF8AndSize(unicode, &size);
- if (s == NULL)
+ if (s == NULL) {
+ assert(size == UNINITIALIZED_SIZE);
return NULL;
+ }
return Py_BuildValue("(y#n)", s, buflen, size);
}
const char *data;
Py_ssize_t size;
const char *errors = NULL;
- Py_ssize_t consumed;
+ Py_ssize_t consumed = UNINITIALIZED_SIZE;
PyObject *result;
if (!PyArg_ParseTuple(args, "y#|z", &data, &size, &errors))
result = PyUnicode_DecodeUTF7Stateful(data, size, errors, &consumed);
if (!result) {
+ assert(consumed == UNINITIALIZED_SIZE);
return NULL;
}
return Py_BuildValue("(Nn)", result, consumed);
const char *data;
Py_ssize_t size;
const char *errors = NULL;
- Py_ssize_t consumed = 123456789;
+ Py_ssize_t consumed = UNINITIALIZED_SIZE;
PyObject *result;
if (!PyArg_ParseTuple(args, "y#|z", &data, &size, &errors))
result = PyUnicode_DecodeUTF8Stateful(data, size, errors, &consumed);
if (!result) {
+ assert(consumed == UNINITIALIZED_SIZE);
return NULL;
}
return Py_BuildValue("(Nn)", result, consumed);
const char *data;
Py_ssize_t size;
const char *errors = NULL;
- int byteorder;
+ int byteorder = UNINITIALIZED_INT;
PyObject *result;
if (!PyArg_ParseTuple(args, "iy#|z", &byteorder, &data, &size, &errors))
const char *data;
Py_ssize_t size;
const char *errors = NULL;
- int byteorder;
- Py_ssize_t consumed;
+ int byteorder = UNINITIALIZED_INT;
+ Py_ssize_t consumed = UNINITIALIZED_SIZE;
PyObject *result;
if (!PyArg_ParseTuple(args, "iy#|z", &byteorder, &data, &size, &errors))
result = PyUnicode_DecodeUTF32Stateful(data, size, errors, &byteorder, &consumed);
if (!result) {
+ assert(consumed == UNINITIALIZED_SIZE);
return NULL;
}
return Py_BuildValue("(iNn)", byteorder, result, consumed);
const char *data;
Py_ssize_t size;
const char *errors = NULL;
- int byteorder = 0;
+ int byteorder = UNINITIALIZED_INT;
PyObject *result;
if (!PyArg_ParseTuple(args, "iy#|z", &byteorder, &data, &size, &errors))
const char *data;
Py_ssize_t size;
const char *errors = NULL;
- int byteorder;
- Py_ssize_t consumed;
+ int byteorder = UNINITIALIZED_INT;
+ Py_ssize_t consumed = UNINITIALIZED_SIZE;
PyObject *result;
if (!PyArg_ParseTuple(args, "iy#|z", &byteorder, &data, &size, &errors))
result = PyUnicode_DecodeUTF16Stateful(data, size, errors, &byteorder, &consumed);
if (!result) {
+ assert(consumed == UNINITIALIZED_SIZE);
return NULL;
}
return Py_BuildValue("(iNn)", byteorder, result, consumed);
const char *data;
Py_ssize_t size;
const char *errors = NULL;
- Py_ssize_t consumed;
+ Py_ssize_t consumed = UNINITIALIZED_SIZE;
PyObject *result;
if (!PyArg_ParseTuple(args, "y#|z", &data, &size, &errors))
result = PyUnicode_DecodeMBCSStateful(data, size, errors, &consumed);
if (!result) {
+ assert(consumed == UNINITIALIZED_SIZE);
return NULL;
}
return Py_BuildValue("(Nn)", result, consumed);
const char *data;
Py_ssize_t size;
const char *errors = NULL;
- Py_ssize_t consumed;
+ Py_ssize_t consumed = UNINITIALIZED_SIZE;
PyObject *result;
if (!PyArg_ParseTuple(args, "iy#|z", &code_page, &data, &size, &errors))
result = PyUnicode_DecodeCodePageStateful(code_page, data, size, errors, &consumed);
if (!result) {
+ assert(consumed == UNINITIALIZED_SIZE);
return NULL;
}
return Py_BuildValue("(Nn)", result, consumed);