diff options
author | Guido van Rossum <guido@python.org> | 1997-02-14 17:09:47 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1997-02-14 17:09:47 (GMT) |
commit | 1548bacb1406423111cff23cf167fe231b88f4bc (patch) | |
tree | 45933696ac4a66f8c9311e8f145721c6accfcad8 | |
parent | babacb03693471d614e6d9c1bac6f2ec6cc2bccd (diff) | |
download | cpython-1548bacb1406423111cff23cf167fe231b88f4bc.zip cpython-1548bacb1406423111cff23cf167fe231b88f4bc.tar.gz cpython-1548bacb1406423111cff23cf167fe231b88f4bc.tar.bz2 |
Added convenience function PyErr_Format(exception, formatstring, ...) -> NULL.
-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; +} |