X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/blobdiff_plain/c846879ccf3e86ea293c157f4aa2ff8716fb5b4c..95491579329778a89f78674fe3fe0bfee0a5b4fa:/exc.c diff --git a/exc.c b/exc.c index 09b107d..8f50696 100644 --- a/exc.c +++ b/exc.c @@ -1,13 +1,13 @@ /* -*-c-*- * - * $Id: exc.c,v 1.2 1999/05/05 18:50:31 mdw Exp $ + * $Id: exc.c,v 1.6 2004/04/08 01:36:11 mdw Exp $ * * Structured exception handling in C * * (c) 1998 Straylight/Edgeware */ -/*----- Licensing notice --------------------------------------------------* +/*----- Licensing notice --------------------------------------------------* * * This file is part of the mLib utilities library. * @@ -15,26 +15,16 @@ * it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. - * + * * mLib 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 Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with mLib; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -/*----- Revision history --------------------------------------------------* - * - * $Log: exc.c,v $ - * Revision 1.2 1999/05/05 18:50:31 mdw - * Change licensing conditions to LGPL. - * - * Revision 1.1.1.1 1998/06/17 23:44:42 mdw - * Initial version of mLib * + * You should have received a copy of the GNU Library General Public + * License along with mLib; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. */ #include @@ -49,7 +39,7 @@ __exc_hnd *__exc_list = 0; /*----- Functions ---------------------------------------------------------*/ -/* --- @exc__duff@ --- * +/* --- @duff@ --- * * * Arguments: @exc_extype type@ = type of duff exception * @exc_exval val@ = extra data supplied @@ -59,18 +49,18 @@ __exc_hnd *__exc_list = 0; * Use: Default handler when everything goes wrong. */ -static void exc__duff(exc_extype type, exc_exval val) +static void duff(exc_extype type, exc_exval val) { - fprintf(stderr, "fatal error: uncaught exception (type = %lu)\n", type); + fprintf(stderr, "fatal error: uncaught exception (type = %lx)\n", type); abort(); } -/* --- @exc__duffproc@ --- * +/* --- @duffproc@ --- * * * Current handler when there are no more exceptions left. */ -static exc__uncaught exc__duffproc = exc__duff; +static exc__uncaught duffproc = duff; /* --- @exc_uncaught@ --- * * @@ -83,9 +73,9 @@ static exc__uncaught exc__duffproc = exc__duff; exc__uncaught exc_uncaught(exc__uncaught proc) { - exc__uncaught p = exc__duffproc; + exc__uncaught p = duffproc; if (proc) - exc__duffproc = proc; + duffproc = proc; return (p); } @@ -138,11 +128,11 @@ void __exc_rethrow(exc_extype type, exc_exval val) { __exc_hnd *p = __exc_list; if (!p) - exc__duffproc(type, val); + duffproc(type, val); p->type = type; p->val = val; __exc_list = p->next; longjmp(p->buf, type); -} +} /*----- That's all, folks -------------------------------------------------*/