mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
Merged revisions 78875 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r78875 | victor.stinner | 2010-03-12 18:00:41 +0100 (ven., 12 mars 2010) | 5 lines Issue #6697: use %U format instead of _PyUnicode_AsString(), because _PyUnicode_AsString() was not checked for error (NULL). The unicode string is no more truncated to 200 or 400 *bytes*. ........
This commit is contained in:
parent
19495a7adc
commit
38c36f8576
6 changed files with 19 additions and 20 deletions
|
@ -288,10 +288,7 @@ static PyGetSetDef EVP_getseters[] = {
|
||||||
static PyObject *
|
static PyObject *
|
||||||
EVP_repr(EVPobject *self)
|
EVP_repr(EVPobject *self)
|
||||||
{
|
{
|
||||||
char buf[100];
|
return PyUnicode_FromFormat("<%U HASH object @ %p>", self->name, self);
|
||||||
PyOS_snprintf(buf, sizeof(buf), "<%s HASH object @ %p>",
|
|
||||||
_PyUnicode_AsString(self->name), self);
|
|
||||||
return PyUnicode_FromString(buf);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if HASH_OBJ_CONSTRUCTOR
|
#if HASH_OBJ_CONSTRUCTOR
|
||||||
|
|
|
@ -321,15 +321,12 @@ zipimporter_load_module(PyObject *obj, PyObject *args)
|
||||||
/* add __path__ to the module *before* the code gets
|
/* add __path__ to the module *before* the code gets
|
||||||
executed */
|
executed */
|
||||||
PyObject *pkgpath, *fullpath;
|
PyObject *pkgpath, *fullpath;
|
||||||
char *prefix = _PyUnicode_AsString(self->prefix);
|
|
||||||
char *subname = get_subname(fullname);
|
char *subname = get_subname(fullname);
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
fullpath = PyUnicode_FromFormat("%s%c%s%s",
|
fullpath = PyUnicode_FromFormat("%U%c%U%s",
|
||||||
_PyUnicode_AsString(self->archive),
|
self->archive, SEP,
|
||||||
SEP,
|
self->prefix, subname);
|
||||||
prefix ? prefix : "",
|
|
||||||
subname);
|
|
||||||
if (fullpath == NULL)
|
if (fullpath == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
|
|
@ -295,9 +295,9 @@ func_set_code(PyFunctionObject *op, PyObject *value)
|
||||||
PyTuple_GET_SIZE(op->func_closure));
|
PyTuple_GET_SIZE(op->func_closure));
|
||||||
if (nclosure != nfree) {
|
if (nclosure != nfree) {
|
||||||
PyErr_Format(PyExc_ValueError,
|
PyErr_Format(PyExc_ValueError,
|
||||||
"%s() requires a code object with %zd free vars,"
|
"%U() requires a code object with %zd free vars,"
|
||||||
" not %zd",
|
" not %zd",
|
||||||
_PyUnicode_AsString(op->func_name),
|
op->func_name,
|
||||||
nclosure, nfree);
|
nclosure, nfree);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1295,10 +1295,15 @@ check_duplicates(PyObject *list)
|
||||||
for (j = i + 1; j < n; j++) {
|
for (j = i + 1; j < n; j++) {
|
||||||
if (PyList_GET_ITEM(list, j) == o) {
|
if (PyList_GET_ITEM(list, j) == o) {
|
||||||
o = class_name(o);
|
o = class_name(o);
|
||||||
PyErr_Format(PyExc_TypeError,
|
if (o != NULL) {
|
||||||
"duplicate base class %.400s",
|
PyErr_Format(PyExc_TypeError,
|
||||||
o ? _PyUnicode_AsString(o) : "?");
|
"duplicate base class %U",
|
||||||
Py_XDECREF(o);
|
o);
|
||||||
|
Py_DECREF(o);
|
||||||
|
} else {
|
||||||
|
PyErr_SetString(PyExc_TypeError,
|
||||||
|
"duplicate base class");
|
||||||
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3883,10 +3883,10 @@ update_keyword_args(PyObject *orig_kwdict, int nk, PyObject ***pp_stack,
|
||||||
if (PyDict_GetItem(kwdict, key) != NULL) {
|
if (PyDict_GetItem(kwdict, key) != NULL) {
|
||||||
PyErr_Format(PyExc_TypeError,
|
PyErr_Format(PyExc_TypeError,
|
||||||
"%.200s%s got multiple values "
|
"%.200s%s got multiple values "
|
||||||
"for keyword argument '%.200s'",
|
"for keyword argument '%U'",
|
||||||
PyEval_GetFuncName(func),
|
PyEval_GetFuncName(func),
|
||||||
PyEval_GetFuncDesc(func),
|
PyEval_GetFuncDesc(func),
|
||||||
_PyUnicode_AsString(key));
|
key);
|
||||||
Py_DECREF(key);
|
Py_DECREF(key);
|
||||||
Py_DECREF(value);
|
Py_DECREF(value);
|
||||||
Py_DECREF(kwdict);
|
Py_DECREF(kwdict);
|
||||||
|
|
|
@ -2694,8 +2694,8 @@ PyImport_ReloadModule(PyObject *m)
|
||||||
parent = PyDict_GetItem(modules, parentname);
|
parent = PyDict_GetItem(modules, parentname);
|
||||||
if (parent == NULL) {
|
if (parent == NULL) {
|
||||||
PyErr_Format(PyExc_ImportError,
|
PyErr_Format(PyExc_ImportError,
|
||||||
"reload(): parent %.200s not in sys.modules",
|
"reload(): parent %U not in sys.modules",
|
||||||
_PyUnicode_AsString(parentname));
|
parentname);
|
||||||
Py_DECREF(parentname);
|
Py_DECREF(parentname);
|
||||||
imp_modules_reloading_clear();
|
imp_modules_reloading_clear();
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue