diff options
Diffstat (limited to 'Python/errors.c')
-rw-r--r-- | Python/errors.c | 27 |
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; +} |