Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize

with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize.
This commit is contained in:
Serhiy Storchaka 2016-11-20 09:13:07 +02:00
parent e20973926a
commit 06515833fe
31 changed files with 62 additions and 62 deletions

View File

@ -1723,7 +1723,7 @@ c_void_p_from_param(PyObject *type, PyObject *value)
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();
@ -1835,7 +1835,7 @@ PyCSimpleType_paramfunc(CDataObject *self)
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);
@ -2059,7 +2059,7 @@ PyCSimpleType_from_param(PyObject *type, PyObject *value)
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);
@ -3128,7 +3128,7 @@ _check_outarg_type(PyObject *arg, Py_ssize_t index)
/* 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;
}
@ -3218,7 +3218,7 @@ _get_name(PyObject *obj, const char **pname)
return *pname ? 1 : 0;
}
if (PyUnicode_Check(obj)) {
*pname = _PyUnicode_AsString(obj);
*pname = PyUnicode_AsUTF8(obj);
return *pname ? 1 : 0;
}
PyErr_SetString(PyExc_TypeError,
@ -5233,7 +5233,7 @@ cast_check_pointertype(PyObject *arg)
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;
}

View File

@ -489,7 +489,7 @@ PyCStructUnionType_update_stgdict(PyObject *type, PyObject *fields, int isStruct
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;

View File

@ -1219,7 +1219,7 @@ wrap_strftime(PyObject *object, PyObject *format, PyObject *timetuple,
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;
@ -1287,7 +1287,7 @@ wrap_strftime(PyObject *object, PyObject *format, PyObject *timetuple,
}
assert(Zreplacement != NULL);
assert(PyUnicode_Check(Zreplacement));
ptoappend = _PyUnicode_AsStringAndSize(Zreplacement,
ptoappend = PyUnicode_AsUTF8AndSize(Zreplacement,
&ntoappend);
if (ptoappend == NULL)
goto Done;

View File

@ -708,7 +708,7 @@ _io_StringIO___init___impl(stringio *self, PyObject *value,
Py_TYPE(newline_obj)->tp_name);
return -1;
}
newline = _PyUnicode_AsString(newline_obj);
newline = PyUnicode_AsUTF8(newline_obj);
if (newline == NULL)
return -1;
}

View File

@ -921,7 +921,7 @@ _io_TextIOWrapper___init___impl(textio *self, PyObject *buffer,
Py_CLEAR(self->encoding);
}
if (self->encoding != NULL) {
encoding = _PyUnicode_AsString(self->encoding);
encoding = PyUnicode_AsUTF8(self->encoding);
if (encoding == NULL)
goto error;
}
@ -964,7 +964,7 @@ _io_TextIOWrapper___init___impl(textio *self, PyObject *buffer,
}
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"))

View File

@ -1951,7 +1951,7 @@ save_long(PicklerObject *self, PyObject *obj)
if (repr == NULL)
goto error;
string = _PyUnicode_AsStringAndSize(repr, &size);
string = PyUnicode_AsUTF8AndSize(repr, &size);
if (string == NULL)
goto error;

View File

@ -505,7 +505,7 @@ _pysqlite_set_result(sqlite3_context* context, PyObject* py_val)
} 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);
@ -1527,7 +1527,7 @@ pysqlite_connection_create_collation(pysqlite_Connection* self, PyObject* args)
}
}
uppercase_name_str = _PyUnicode_AsString(uppercase_name);
uppercase_name_str = PyUnicode_AsUTF8(uppercase_name);
if (!uppercase_name_str)
goto finally;

View File

@ -465,7 +465,7 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
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;
@ -689,7 +689,7 @@ PyObject* pysqlite_cursor_executescript(pysqlite_Cursor* self, PyObject* args)
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;
}

View File

@ -98,7 +98,7 @@ PyObject* pysqlite_row_subscript(pysqlite_Row* self, PyObject* idx)
Py_XINCREF(item);
return item;
} else if (PyUnicode_Check(idx)) {
key = _PyUnicode_AsString(idx);
key = PyUnicode_AsUTF8(idx);
if (key == NULL)
return NULL;
@ -108,7 +108,7 @@ PyObject* pysqlite_row_subscript(pysqlite_Row* self, PyObject* idx)
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;
}

View File

@ -59,7 +59,7 @@ int pysqlite_statement_create(pysqlite_Statement* self, pysqlite_Connection* con
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;
@ -152,7 +152,7 @@ int pysqlite_statement_bind_parameter(pysqlite_Statement* self, int pos, PyObjec
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) {
@ -325,7 +325,7 @@ int pysqlite_statement_recompile(pysqlite_Statement* self, PyObject* params)
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;

View File

@ -267,7 +267,7 @@ getcodec(PyObject *self, PyObject *encoding)
"encoding name must be a string.");
return NULL;
}
enc = _PyUnicode_AsString(encoding);
enc = PyUnicode_AsUTF8(encoding);
if (enc == NULL)
return NULL;

View File

@ -85,7 +85,7 @@ call_error_callback(PyObject *errors, PyObject *exc)
const char *str;
assert(PyUnicode_Check(errors));
str = _PyUnicode_AsString(errors);
str = PyUnicode_AsUTF8(errors);
if (str == NULL)
return NULL;
cb = PyCodec_LookupError(str);
@ -138,7 +138,7 @@ codecctx_errors_set(MultibyteStatefulCodecContext *self, PyObject *value,
return -1;
}
str = _PyUnicode_AsString(value);
str = PyUnicode_AsUTF8(value);
if (str == NULL)
return -1;

View File

@ -912,7 +912,7 @@ build_node_children(PyObject *tuple, node *root, int *line_num)
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);
@ -1013,7 +1013,7 @@ build_node_tree(PyObject *tuple)
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);

View File

@ -9325,7 +9325,7 @@ conv_confname(PyObject *arg, int *valuep, struct constdef *table,
"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) {

View File

@ -5989,7 +5989,7 @@ socket_getaddrinfo(PyObject *self, PyObject *args, PyObject* kwargs)
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)) {

View File

@ -139,7 +139,7 @@ syslog_openlog(PyObject * self, PyObject * args, PyObject *kwds)
* 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;
}
@ -167,7 +167,7 @@ syslog_syslog(PyObject * self, PyObject * args)
return NULL;
}
message = _PyUnicode_AsString(message_object);
message = PyUnicode_AsUTF8(message_object);
if (message == NULL)
return NULL;

View File

@ -441,7 +441,7 @@ gettmarg(PyObject *args, struct tm *p)
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())

View File

@ -1274,7 +1274,7 @@ float_fromhex(PyObject *cls, PyObject *arg)
* 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;
@ -1628,7 +1628,7 @@ float_getformat(PyTypeObject *v, PyObject* arg)
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) {

View File

@ -483,7 +483,7 @@ PyModule_GetName(PyObject *m)
if (name == NULL)
return NULL;
Py_DECREF(name); /* module dict has still a reference */
return _PyUnicode_AsString(name);
return PyUnicode_AsUTF8(name);
}
PyObject*
@ -516,7 +516,7 @@ PyModule_GetFilename(PyObject *m)
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;
}
@ -569,7 +569,7 @@ _PyModule_ClearDict(PyObject *d)
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
@ -589,7 +589,7 @@ _PyModule_ClearDict(PyObject *d)
!_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

View File

@ -890,7 +890,7 @@ PyObject_GetAttr(PyObject *v, PyObject *name)
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);
@ -934,7 +934,7 @@ PyObject_SetAttr(PyObject *v, PyObject *name, PyObject *value)
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);

View File

@ -2466,7 +2466,7 @@ test_c_api(PySetObject *so)
/* 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++;
}

View File

@ -194,7 +194,7 @@ structseq_repr(PyStructSequence *obj)
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;

View File

@ -1626,7 +1626,7 @@ consistent method resolution\norder (MRO) for bases");
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
@ -2575,7 +2575,7 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
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. */
@ -2623,7 +2623,7 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
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;

View File

@ -446,7 +446,7 @@ fp_readl(char *s, int size, struct tok_state *tok)
}
if (PyUnicode_CheckExact(bufobj))
{
buf = _PyUnicode_AsStringAndSize(bufobj, &buflen);
buf = PyUnicode_AsUTF8AndSize(bufobj, &buflen);
if (buf == NULL) {
goto error;
}

View File

@ -1903,8 +1903,8 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
/* 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);
@ -1920,8 +1920,8 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
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);

View File

@ -4712,7 +4712,7 @@ PyEval_GetFuncName(PyObject *func)
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
@ -5286,7 +5286,7 @@ format_exc_check_arg(PyObject *exc, const char *format_str, PyObject *obj)
if (!obj)
return;
obj_str = _PyUnicode_AsString(obj);
obj_str = PyUnicode_AsUTF8(obj);
if (!obj_str)
return;

View File

@ -21,7 +21,7 @@ future_check_features(PyFutureFeatures *ff, stmt_ty s, PyObject *filename)
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) {

View File

@ -205,7 +205,7 @@ get_codec_name(const char *encoding)
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);
@ -1285,7 +1285,7 @@ initstdio(void)
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);

View File

@ -171,7 +171,7 @@ PyRun_InteractiveOneObject(FILE *fp, PyObject *filename, PyCompilerFlags *flags)
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();
}
@ -182,7 +182,7 @@ PyRun_InteractiveOneObject(FILE *fp, PyObject *filename, PyCompilerFlags *flags)
if (v == NULL)
PyErr_Clear();
else if (PyUnicode_Check(v)) {
ps1 = _PyUnicode_AsString(v);
ps1 = PyUnicode_AsUTF8(v);
if (ps1 == NULL) {
PyErr_Clear();
ps1 = "";
@ -195,7 +195,7 @@ PyRun_InteractiveOneObject(FILE *fp, PyObject *filename, PyCompilerFlags *flags)
if (w == NULL)
PyErr_Clear();
else if (PyUnicode_Check(w)) {
ps2 = _PyUnicode_AsString(w);
ps2 = PyUnicode_AsUTF8(w);
if (ps2 == NULL) {
PyErr_Clear();
ps2 = "";
@ -514,7 +514,7 @@ print_error_text(PyObject *f, int offset, PyObject *text_obj)
char *text;
char *nl;
text = _PyUnicode_AsString(text_obj);
text = PyUnicode_AsUTF8(text_obj);
if (text == NULL)
return;

View File

@ -252,7 +252,7 @@ PyMember_SetOne(char *addr, PyMemberDef *l, PyObject *v)
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;

View File

@ -114,7 +114,7 @@ sys_displayhook_unencodable(PyObject *outf, PyObject *o)
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;
@ -2411,7 +2411,7 @@ sys_format(_Py_Identifier *key, FILE *fp, const char *format, va_list va)
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);
}