with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize.
if (stgd && CDataObject_Check(value) && stgd->proto && PyUnicode_Check(stgd->proto)) {
PyCArgObject *parg;
- switch (_PyUnicode_AsString(stgd->proto)[0]) {
+ switch (PyUnicode_AsUTF8(stgd->proto)[0]) {
case 'z': /* c_char_p */
case 'Z': /* c_wchar_p */
parg = PyCArgObject_new();
dict = PyObject_stgdict((PyObject *)self);
assert(dict); /* Cannot be NULL for CDataObject instances */
- fmt = _PyUnicode_AsString(dict->proto);
+ fmt = PyUnicode_AsUTF8(dict->proto);
assert(fmt);
fd = _ctypes_get_fielddesc(fmt);
assert(dict);
/* I think we can rely on this being a one-character string */
- fmt = _PyUnicode_AsString(dict->proto);
+ fmt = PyUnicode_AsUTF8(dict->proto);
assert(fmt);
fd = _ctypes_get_fielddesc(fmt);
/* simple pointer types, c_void_p, c_wchar_p, BSTR, ... */
&& PyUnicode_Check(dict->proto)
/* We only allow c_void_p, c_char_p and c_wchar_p as a simple output parameter type */
- && (strchr("PzZ", _PyUnicode_AsString(dict->proto)[0]))) {
+ && (strchr("PzZ", PyUnicode_AsUTF8(dict->proto)[0]))) {
return 1;
}
return *pname ? 1 : 0;
}
if (PyUnicode_Check(obj)) {
- *pname = _PyUnicode_AsString(obj);
+ *pname = PyUnicode_AsUTF8(obj);
return *pname ? 1 : 0;
}
PyErr_SetString(PyExc_TypeError,
dict = PyType_stgdict(arg);
if (dict) {
if (PyUnicode_Check(dict->proto)
- && (strchr("sPzUZXO", _PyUnicode_AsString(dict->proto)[0]))) {
+ && (strchr("sPzUZXO", PyUnicode_AsUTF8(dict->proto)[0]))) {
/* simple pointer types, c_void_p, c_wchar_p, BSTR, ... */
return 1;
}
if (isStruct && !isPacked) {
char *fieldfmt = dict->format ? dict->format : "B";
- char *fieldname = _PyUnicode_AsString(name);
+ char *fieldname = PyUnicode_AsUTF8(name);
char *ptr;
Py_ssize_t len;
char *buf;
assert(object && format && timetuple);
assert(PyUnicode_Check(format));
/* Convert the input format to a C string and size */
- pin = _PyUnicode_AsStringAndSize(format, &flen);
+ pin = PyUnicode_AsUTF8AndSize(format, &flen);
if (!pin)
return NULL;
}
assert(Zreplacement != NULL);
assert(PyUnicode_Check(Zreplacement));
- ptoappend = _PyUnicode_AsStringAndSize(Zreplacement,
+ ptoappend = PyUnicode_AsUTF8AndSize(Zreplacement,
&ntoappend);
if (ptoappend == NULL)
goto Done;
Py_TYPE(newline_obj)->tp_name);
return -1;
}
- newline = _PyUnicode_AsString(newline_obj);
+ newline = PyUnicode_AsUTF8(newline_obj);
if (newline == NULL)
return -1;
}
Py_CLEAR(self->encoding);
}
if (self->encoding != NULL) {
- encoding = _PyUnicode_AsString(self->encoding);
+ encoding = PyUnicode_AsUTF8(self->encoding);
if (encoding == NULL)
goto error;
}
}
self->writetranslate = (newline == NULL || newline[0] != '\0');
if (!self->readuniversal && self->readnl) {
- self->writenl = _PyUnicode_AsString(self->readnl);
+ self->writenl = PyUnicode_AsUTF8(self->readnl);
if (self->writenl == NULL)
goto error;
if (!strcmp(self->writenl, "\n"))
if (repr == NULL)
goto error;
- string = _PyUnicode_AsStringAndSize(repr, &size);
+ string = PyUnicode_AsUTF8AndSize(repr, &size);
if (string == NULL)
goto error;
} else if (PyFloat_Check(py_val)) {
sqlite3_result_double(context, PyFloat_AsDouble(py_val));
} else if (PyUnicode_Check(py_val)) {
- const char *str = _PyUnicode_AsString(py_val);
+ const char *str = PyUnicode_AsUTF8(py_val);
if (str == NULL)
return -1;
sqlite3_result_text(context, str, -1, SQLITE_TRANSIENT);
}
}
- uppercase_name_str = _PyUnicode_AsString(uppercase_name);
+ uppercase_name_str = PyUnicode_AsUTF8(uppercase_name);
if (!uppercase_name_str)
goto finally;
pysqlite_statement_reset(self->statement);
}
- operation_cstr = _PyUnicode_AsStringAndSize(operation, &operation_len);
+ operation_cstr = PyUnicode_AsUTF8AndSize(operation, &operation_len);
if (operation_cstr == NULL)
goto error;
self->reset = 0;
if (PyUnicode_Check(script_obj)) {
- script_cstr = _PyUnicode_AsString(script_obj);
+ script_cstr = PyUnicode_AsUTF8(script_obj);
if (!script_cstr) {
return NULL;
}
Py_XINCREF(item);
return item;
} else if (PyUnicode_Check(idx)) {
- key = _PyUnicode_AsString(idx);
+ key = PyUnicode_AsUTF8(idx);
if (key == NULL)
return NULL;
PyObject *obj;
obj = PyTuple_GET_ITEM(self->description, i);
obj = PyTuple_GET_ITEM(obj, 0);
- compare_key = _PyUnicode_AsString(obj);
+ compare_key = PyUnicode_AsUTF8(obj);
if (!compare_key) {
return NULL;
}
self->st = NULL;
self->in_use = 0;
- sql_cstr = _PyUnicode_AsStringAndSize(sql, &sql_cstr_len);
+ sql_cstr = PyUnicode_AsUTF8AndSize(sql, &sql_cstr_len);
if (sql_cstr == NULL) {
rc = PYSQLITE_SQL_WRONG_TYPE;
return rc;
rc = sqlite3_bind_double(self->st, pos, PyFloat_AsDouble(parameter));
break;
case TYPE_UNICODE:
- string = _PyUnicode_AsStringAndSize(parameter, &buflen);
+ string = PyUnicode_AsUTF8AndSize(parameter, &buflen);
if (string == NULL)
return -1;
if (buflen > INT_MAX) {
Py_ssize_t sql_len;
sqlite3_stmt* new_st;
- sql_cstr = _PyUnicode_AsStringAndSize(self->sql, &sql_len);
+ sql_cstr = PyUnicode_AsUTF8AndSize(self->sql, &sql_len);
if (sql_cstr == NULL) {
rc = PYSQLITE_SQL_WRONG_TYPE;
return rc;
"encoding name must be a string.");
return NULL;
}
- enc = _PyUnicode_AsString(encoding);
+ enc = PyUnicode_AsUTF8(encoding);
if (enc == NULL)
return NULL;
const char *str;
assert(PyUnicode_Check(errors));
- str = _PyUnicode_AsString(errors);
+ str = PyUnicode_AsUTF8(errors);
if (str == NULL)
return NULL;
cb = PyCodec_LookupError(str);
return -1;
}
- str = _PyUnicode_AsString(value);
+ str = PyUnicode_AsUTF8(value);
if (str == NULL)
return -1;
Py_DECREF(o);
}
}
- temp_str = _PyUnicode_AsStringAndSize(temp, &len);
+ temp_str = PyUnicode_AsUTF8AndSize(temp, &len);
if (temp_str == NULL) {
Py_DECREF(temp);
Py_XDECREF(elem);
if (res && encoding) {
Py_ssize_t len;
const char *temp;
- temp = _PyUnicode_AsStringAndSize(encoding, &len);
+ temp = PyUnicode_AsUTF8AndSize(encoding, &len);
if (temp == NULL) {
Py_DECREF(res);
Py_DECREF(encoding);
"configuration names must be strings or integers");
return 0;
}
- confname = _PyUnicode_AsString(arg);
+ confname = PyUnicode_AsUTF8(arg);
if (confname == NULL)
return 0;
while (lo < hi) {
PyOS_snprintf(pbuf, sizeof(pbuf), "%ld", value);
pptr = pbuf;
} else if (PyUnicode_Check(pobj)) {
- pptr = _PyUnicode_AsString(pobj);
+ pptr = PyUnicode_AsUTF8(pobj);
if (pptr == NULL)
goto err;
} else if (PyBytes_Check(pobj)) {
* If NULL, just let openlog figure it out (probably using C argv[0]).
*/
if (S_ident_o) {
- ident = _PyUnicode_AsString(S_ident_o);
+ ident = PyUnicode_AsUTF8(S_ident_o);
if (ident == NULL)
return NULL;
}
return NULL;
}
- message = _PyUnicode_AsString(message_object);
+ message = PyUnicode_AsUTF8(message_object);
if (message == NULL)
return NULL;
if (Py_TYPE(args) == &StructTimeType) {
PyObject *item;
item = PyTuple_GET_ITEM(args, 9);
- p->tm_zone = item == Py_None ? NULL : _PyUnicode_AsString(item);
+ p->tm_zone = item == Py_None ? NULL : PyUnicode_AsUTF8(item);
item = PyTuple_GET_ITEM(args, 10);
p->tm_gmtoff = item == Py_None ? 0 : PyLong_AsLong(item);
if (PyErr_Occurred())
* exp+4*ndigits and exp-4*ndigits are within the range of a long.
*/
- s = _PyUnicode_AsStringAndSize(arg, &length);
+ s = PyUnicode_AsUTF8AndSize(arg, &length);
if (s == NULL)
return NULL;
s_end = s + length;
Py_TYPE(arg)->tp_name);
return NULL;
}
- s = _PyUnicode_AsString(arg);
+ s = PyUnicode_AsUTF8(arg);
if (s == NULL)
return NULL;
if (strcmp(s, "double") == 0) {
if (name == NULL)
return NULL;
Py_DECREF(name); /* module dict has still a reference */
- return _PyUnicode_AsString(name);
+ return PyUnicode_AsUTF8(name);
}
PyObject*
fileobj = PyModule_GetFilenameObject(m);
if (fileobj == NULL)
return NULL;
- utf8 = _PyUnicode_AsString(fileobj);
+ utf8 = PyUnicode_AsUTF8(fileobj);
Py_DECREF(fileobj); /* module dict has still a reference */
return utf8;
}
if (PyUnicode_READ_CHAR(key, 0) == '_' &&
PyUnicode_READ_CHAR(key, 1) != '_') {
if (Py_VerboseFlag > 1) {
- const char *s = _PyUnicode_AsString(key);
+ const char *s = PyUnicode_AsUTF8(key);
if (s != NULL)
PySys_WriteStderr("# clear[1] %s\n", s);
else
!_PyUnicode_EqualToASCIIString(key, "__builtins__"))
{
if (Py_VerboseFlag > 1) {
- const char *s = _PyUnicode_AsString(key);
+ const char *s = PyUnicode_AsUTF8(key);
if (s != NULL)
PySys_WriteStderr("# clear[2] %s\n", s);
else
if (tp->tp_getattro != NULL)
return (*tp->tp_getattro)(v, name);
if (tp->tp_getattr != NULL) {
- char *name_str = _PyUnicode_AsString(name);
+ char *name_str = PyUnicode_AsUTF8(name);
if (name_str == NULL)
return NULL;
return (*tp->tp_getattr)(v, name_str);
return err;
}
if (tp->tp_setattr != NULL) {
- char *name_str = _PyUnicode_AsString(name);
+ char *name_str = PyUnicode_AsUTF8(name);
if (name_str == NULL)
return -1;
err = (*tp->tp_setattr)(v, name_str, value);
/* Exercise direct iteration */
i = 0, count = 0;
while (_PySet_NextEntry((PyObject *)dup, &i, &x, &hash)) {
- s = _PyUnicode_AsString(x);
+ s = PyUnicode_AsUTF8(x);
assert(s && (s[0] == 'a' || s[0] == 'b' || s[0] == 'c'));
count++;
}
repr = PyObject_Repr(val);
if (repr == NULL)
return NULL;
- crepr = _PyUnicode_AsString(repr);
+ crepr = PyUnicode_AsUTF8(repr);
if (crepr == NULL) {
Py_DECREF(repr);
return NULL;
PyObject *name = class_name(k);
char *name_str;
if (name != NULL) {
- name_str = _PyUnicode_AsString(name);
+ name_str = PyUnicode_AsUTF8(name);
if (name_str == NULL)
name_str = "?";
} else
char *doc_str;
char *tp_doc;
- doc_str = _PyUnicode_AsString(doc);
+ doc_str = PyUnicode_AsUTF8(doc);
if (doc_str == NULL)
goto error;
/* Silently truncate the docstring if it contains null bytes. */
slotoffset = base->tp_basicsize;
if (et->ht_slots != NULL) {
for (i = 0; i < nslots; i++, mp++) {
- mp->name = _PyUnicode_AsString(
+ mp->name = PyUnicode_AsUTF8(
PyTuple_GET_ITEM(et->ht_slots, i));
if (mp->name == NULL)
goto error;
}
if (PyUnicode_CheckExact(bufobj))
{
- buf = _PyUnicode_AsStringAndSize(bufobj, &buflen);
+ buf = PyUnicode_AsUTF8AndSize(bufobj, &buflen);
if (buf == NULL) {
goto error;
}
/* stdin is a text stream, so it must have an
encoding. */
goto _readline_errors;
- stdin_encoding_str = _PyUnicode_AsString(stdin_encoding);
- stdin_errors_str = _PyUnicode_AsString(stdin_errors);
+ stdin_encoding_str = PyUnicode_AsUTF8(stdin_encoding);
+ stdin_errors_str = PyUnicode_AsUTF8(stdin_errors);
if (!stdin_encoding_str || !stdin_errors_str)
goto _readline_errors;
tmp = _PyObject_CallMethodId(fout, &PyId_flush, NULL);
stdout_errors = _PyObject_GetAttrId(fout, &PyId_errors);
if (!stdout_encoding || !stdout_errors)
goto _readline_errors;
- stdout_encoding_str = _PyUnicode_AsString(stdout_encoding);
- stdout_errors_str = _PyUnicode_AsString(stdout_errors);
+ stdout_encoding_str = PyUnicode_AsUTF8(stdout_encoding);
+ stdout_errors_str = PyUnicode_AsUTF8(stdout_errors);
if (!stdout_encoding_str || !stdout_errors_str)
goto _readline_errors;
stringpo = PyObject_Str(prompt);
if (PyMethod_Check(func))
return PyEval_GetFuncName(PyMethod_GET_FUNCTION(func));
else if (PyFunction_Check(func))
- return _PyUnicode_AsString(((PyFunctionObject*)func)->func_name);
+ return PyUnicode_AsUTF8(((PyFunctionObject*)func)->func_name);
else if (PyCFunction_Check(func))
return ((PyCFunctionObject*)func)->m_ml->ml_name;
else
if (!obj)
return;
- obj_str = _PyUnicode_AsString(obj);
+ obj_str = PyUnicode_AsUTF8(obj);
if (!obj_str)
return;
names = s->v.ImportFrom.names;
for (i = 0; i < asdl_seq_LEN(names); i++) {
alias_ty name = (alias_ty)asdl_seq_GET(names, i);
- const char *feature = _PyUnicode_AsString(name->name);
+ const char *feature = PyUnicode_AsUTF8(name->name);
if (!feature)
return 0;
if (strcmp(feature, FUTURE_NESTED_SCOPES) == 0) {
if (!name)
goto error;
- name_utf8 = _PyUnicode_AsString(name);
+ name_utf8 = PyUnicode_AsUTF8(name);
if (name_utf8 == NULL)
goto error;
name_str = _PyMem_RawStrdup(name_utf8);
encoding_attr = PyObject_GetAttrString(std, "encoding");
if (encoding_attr != NULL) {
const char * std_encoding;
- std_encoding = _PyUnicode_AsString(encoding_attr);
+ std_encoding = PyUnicode_AsUTF8(encoding_attr);
if (std_encoding != NULL) {
PyObject *codec_info = _PyCodec_Lookup(std_encoding);
Py_XDECREF(codec_info);
if (v && v != Py_None) {
oenc = _PyObject_GetAttrId(v, &PyId_encoding);
if (oenc)
- enc = _PyUnicode_AsString(oenc);
+ enc = PyUnicode_AsUTF8(oenc);
if (!enc)
PyErr_Clear();
}
if (v == NULL)
PyErr_Clear();
else if (PyUnicode_Check(v)) {
- ps1 = _PyUnicode_AsString(v);
+ ps1 = PyUnicode_AsUTF8(v);
if (ps1 == NULL) {
PyErr_Clear();
ps1 = "";
if (w == NULL)
PyErr_Clear();
else if (PyUnicode_Check(w)) {
- ps2 = _PyUnicode_AsString(w);
+ ps2 = PyUnicode_AsUTF8(w);
if (ps2 == NULL) {
PyErr_Clear();
ps2 = "";
char *text;
char *nl;
- text = _PyUnicode_AsString(text_obj);
+ text = PyUnicode_AsUTF8(text_obj);
if (text == NULL)
return;
char *string;
Py_ssize_t len;
- string = _PyUnicode_AsStringAndSize(v, &len);
+ string = PyUnicode_AsUTF8AndSize(v, &len);
if (string == NULL || len != 1) {
PyErr_BadArgument();
return -1;
stdout_encoding = _PyObject_GetAttrId(outf, &PyId_encoding);
if (stdout_encoding == NULL)
goto error;
- stdout_encoding_str = _PyUnicode_AsString(stdout_encoding);
+ stdout_encoding_str = PyUnicode_AsUTF8(stdout_encoding);
if (stdout_encoding_str == NULL)
goto error;
if (message != NULL) {
if (sys_pyfile_write_unicode(message, file) != 0) {
PyErr_Clear();
- utf8 = _PyUnicode_AsString(message);
+ utf8 = PyUnicode_AsUTF8(message);
if (utf8 != NULL)
fputs(utf8, fp);
}