X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/d38c2e8d5e416b5803dd969be1b0b748287b25a1..ab9168949ec2762698d6293adf17b637f30b891e:/pgen-stdev.c diff --git a/pgen-stdev.c b/pgen-stdev.c index 688a4b6..c917998 100644 --- a/pgen-stdev.c +++ b/pgen-stdev.c @@ -1,13 +1,13 @@ /* -*-c-*- * - * $Id: pgen-stdev.c,v 1.1 1999/12/22 16:01:57 mdw Exp $ + * $Id: pgen-stdev.c,v 1.4 2004/04/08 01:36:15 mdw Exp $ * * Standard event handlers * * (c) 1999 Straylight/Edgeware */ -/*----- Licensing notice --------------------------------------------------* +/*----- Licensing notice --------------------------------------------------* * * This file is part of Catacomb. * @@ -15,26 +15,18 @@ * 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. - * + * * Catacomb 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 Catacomb; if not, write to the Free * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, * MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: pgen-stdev.c,v $ - * Revision 1.1 1999/12/22 16:01:57 mdw - * Standard progress-reporting functions. - * - */ - /*----- Header files ------------------------------------------------------*/ #include @@ -58,13 +50,18 @@ int pgen_evspin(int rq, pgen_event *ev, void *p) switch (rq) { case PGEN_PASS: case PGEN_FAIL: - case PGEN_DONE: putchar(*q++); putchar('\b'); fflush(stdout); if (!*q) q = spinner; break; + case PGEN_DONE: + case PGEN_ABORT: + putchar(' '); + putchar('\b'); + fflush(stdout); + break; } return (0); } @@ -99,4 +96,36 @@ int pgen_ev(int rq, pgen_event *ev, void *p) return (0); } +/* --- @pgen_subev@ --- * + * + * Subsidiary event handler, mainly for Lim-Lee searches and so on. + */ + +int pgen_subev(int rq, pgen_event *ev, void *p) +{ + switch (rq) { + case PGEN_BEGIN: + printf("[%s: ", ev->name); + fflush(stdout); + break; + case PGEN_FAIL: + putchar('.'); + fflush(stdout); + break; + case PGEN_PASS: + putchar('+'); + fflush(stdout); + break; + case PGEN_DONE: + fputs("+]", stdout); + fflush(stdout); + break; + case PGEN_ABORT: + fputs(" failed]", stdout); + fflush(stdout); + break; + } + return (0); +} + /*----- That's all, folks -------------------------------------------------*/