summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Python/errors.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/Python/errors.c b/Python/errors.c
index a1ab4b8..b011acc 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -203,3 +203,30 @@ err_badcall()
{
err_setstr(SystemError, "bad argument to internal function");
}
+
+
+#ifdef HAVE_STDARG_PROTOTYPES
+PyObject *
+PyErr_Format(PyObject *exception, const char *format, ...)
+#else
+PyObject *
+PyErr_Format(exception, format, va_alist)
+ PyObject *exception;
+ const char *format;
+ va_dcl
+#endif
+{
+ va_list vargs;
+ char buffer[500]; /* Caller is responsible for limiting the format */
+ PyObject *s;
+
+#ifdef HAVE_STDARG_PROTOTYPES
+ va_start(vargs, format);
+#else
+ va_start(vargs);
+#endif
+
+ vsprintf(buffer, format, vargs);
+ PyErr_SetString(exception, buffer);
+ return NULL;
+}