]> granicus.if.org Git - python/commitdiff
Two improvements suggested by Greg Stein:
authorBarry Warsaw <barry@python.org>
Mon, 27 Aug 2001 03:11:09 +0000 (03:11 +0000)
committerBarry Warsaw <barry@python.org>
Mon, 27 Aug 2001 03:11:09 +0000 (03:11 +0000)
PyString_FromFormatV(): In the final resize at the end, we can use
    PyString_AS_STRING() since we know the object is a string and can
    avoid the typechecking.

PyString_FromFormat(): GS sez: "For safety/propriety, you should call
    va_end() on the vargs variable."

Objects/stringobject.c

index 9ea32a203d917b05fe5933c327068abc772db8d8..13328812bbd2a56a1636c40c44c4d4937ddf7117 100644 (file)
@@ -292,13 +292,14 @@ PyString_FromFormatV(const char *format, va_list vargs)
        }
        
  end:
-       _PyString_Resize(&string, s - PyString_AsString(string));
+       _PyString_Resize(&string, s - PyString_AS_STRING(string));
        return string;
 }
        
 PyObject *
 PyString_FromFormat(const char *format, ...) 
 {
+       PyObject* ret;
        va_list vargs;
 
 #ifdef HAVE_STDARG_PROTOTYPES
@@ -306,7 +307,9 @@ PyString_FromFormat(const char *format, ...)
 #else
        va_start(vargs);
 #endif
-       return PyString_FromFormatV(format, vargs);
+       ret = PyString_FromFormatV(format, vargs);
+       va_end(vargs);
+       return ret;
 }