X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib-python/blobdiff_plain/20bce5e92b01cd928f26b61be78215117039c561..a1ce1458d254a60b64add7f1ca44bd638c872097:/report.pyx diff --git a/report.pyx b/report.pyx index e3749b4..f83a193 100644 --- a/report.pyx +++ b/report.pyx @@ -15,34 +15,32 @@ # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. -# +# # mLib/Python is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with mLib/Python; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -cdef extern from 'mLib/quis.h': - void _ego "ego"(char *prog) - char *_quis "quis"() - -cdef extern from 'mLib/report.h': - void _moan "moan"(char *f, char *msg) - -import sys - quis = '' -def ego(prog): - _ego(prog) +cdef char *_progstring +_progstring = NULL + +def ego(char *prog): + global quis, _progstring + if _progstring: + xfree(_progstring) + _progstring = xstrdup(prog) + _ego(_progstring) quis = _quis() -def moan(msg): +def moan(char *msg): _moan('%s', msg) -def die(msg, rc = 1): +def die(char *msg, rc = 126): _moan('%s', msg) - sys.exit(rc) + raise SystemExit, rc #----- That's all, folks ----------------------------------------------------