From: Barry Warsaw Date: Mon, 27 Aug 2001 03:11:09 +0000 (+0000) Subject: Two improvements suggested by Greg Stein: X-Git-Tag: v2.2a3~323 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7c47beb860fcea2029850f1036fe1be216aab78e;p=python Two improvements suggested by Greg Stein: 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." --- diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 9ea32a203d..13328812bb 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -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; }