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*.
........
diff --git a/Modules/_hashopenssl.c b/Modules/_hashopenssl.c
index 0850d7b..ee149e1 100644
--- a/Modules/_hashopenssl.c
+++ b/Modules/_hashopenssl.c
@@ -288,10 +288,7 @@
 static PyObject *
 EVP_repr(EVPobject *self)
 {
-    char buf[100];
-    PyOS_snprintf(buf, sizeof(buf), "<%s HASH object @ %p>",
-            _PyUnicode_AsString(self->name), self);
-    return PyUnicode_FromString(buf);
+    return PyUnicode_FromFormat("<%U HASH object @ %p>", self->name, self);
 }
 
 #if HASH_OBJ_CONSTRUCTOR
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 @@
 		/* 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;