mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
Merging the py3k-pep3137 branch back into the py3k branch.
No detailed change log; just check out the change log for the py3k-pep3137 branch. The most obvious changes: - str8 renamed to bytes (PyString at the C level); - bytes renamed to buffer (PyBytes at the C level); - PyString and PyUnicode are no longer compatible. I.e. we now have an immutable bytes type and a mutable bytes type. The behavior of PyString was modified quite a bit, to make it more bytes-like. Some changes are still on the to-do list.
This commit is contained in:
parent
a19f80c6df
commit
98297ee781
148 changed files with 2533 additions and 3517 deletions
|
|
@ -272,11 +272,7 @@ PyObject* pysqlite_unicode_from_string(const char* val_str, int optimize)
|
|||
}
|
||||
}
|
||||
|
||||
if (is_ascii) {
|
||||
return PyString_FromString(val_str);
|
||||
} else {
|
||||
return PyUnicode_DecodeUTF8(val_str, strlen(val_str), NULL);
|
||||
}
|
||||
return PyUnicode_FromString(val_str);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -379,7 +375,7 @@ PyObject* _pysqlite_fetch_one_row(pysqlite_Cursor* self)
|
|||
} else {
|
||||
/* coltype == SQLITE_BLOB */
|
||||
nbytes = sqlite3_column_bytes(self->statement->st, i);
|
||||
buffer = PyBytes_FromStringAndSize(
|
||||
buffer = PyString_FromStringAndSize(
|
||||
sqlite3_column_blob(self->statement->st, i), nbytes);
|
||||
if (!buffer) {
|
||||
break;
|
||||
|
|
@ -436,8 +432,8 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyString_Check(operation) && !PyUnicode_Check(operation)) {
|
||||
PyErr_SetString(PyExc_ValueError, "operation parameter must be str or unicode");
|
||||
if (!PyUnicode_Check(operation)) {
|
||||
PyErr_SetString(PyExc_ValueError, "operation parameter must be str");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
@ -458,8 +454,8 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyString_Check(operation) && !PyUnicode_Check(operation)) {
|
||||
PyErr_SetString(PyExc_ValueError, "operation parameter must be str or unicode");
|
||||
if (!PyUnicode_Check(operation)) {
|
||||
PyErr_SetString(PyExc_ValueError, "operation parameter must be str");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue