summaryrefslogtreecommitdiffstats
path: root/Modules/zipimport.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2010-03-12 17:00:41 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2010-03-12 17:00:41 (GMT)
commit3f1af5c42e915775e9cc32224e090b05430a23de (patch)
tree0456ab762d139e628bc6e559291854a1a01a3feb /Modules/zipimport.c
parent50981b8242af6a456cf17e39df6a12b0f98524df (diff)
downloadcpython-3f1af5c42e915775e9cc32224e090b05430a23de.zip
cpython-3f1af5c42e915775e9cc32224e090b05430a23de.tar.gz
cpython-3f1af5c42e915775e9cc32224e090b05430a23de.tar.bz2
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*.
Diffstat (limited to 'Modules/zipimport.c')
-rw-r--r--Modules/zipimport.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index 770f18f..fed3e99 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -321,15 +321,12 @@ zipimporter_load_module(PyObject *obj, PyObject *args)
/* add __path__ to the module *before* the code gets
executed */
PyObject *pkgpath, *fullpath;
- char *prefix = _PyUnicode_AsString(self->prefix);
char *subname = get_subname(fullname);
int err;
- fullpath = PyUnicode_FromFormat("%s%c%s%s",
- _PyUnicode_AsString(self->archive),
- SEP,
- prefix ? prefix : "",
- subname);
+ fullpath = PyUnicode_FromFormat("%U%c%U%s",
+ self->archive, SEP,
+ self->prefix, subname);
if (fullpath == NULL)
goto error;