Annotation of 43BSD/ucb/pascal/pdx/machine/printerror.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1980 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  */
                      6: 
                      7: #ifndef lint
                      8: static char sccsid[] = "@(#)printerror.c       5.1 (Berkeley) 6/6/85";
                      9: #endif not lint
                     10: 
                     11: /*
                     12:  * Print out an execution time error.
                     13:  */
                     14: 
                     15: #include "defs.h"
                     16: #include <signal.h>
                     17: #include "machine.h"
                     18: #include "sym.h"
                     19: #include "process.h"
                     20: #include "source.h"
                     21: #include "object.h"
                     22: #include "mappings.h"
                     23: #include "pxerrors.h"
                     24: #include "process/process.rep"
                     25: 
                     26: printerror()
                     27: {
                     28:     register PROCESS *p;
                     29:     char *filename;
                     30:     int c;
                     31: 
                     32:     p = process;
                     33:     if (p->signo != ESIGNAL && p->signo != SIGINT) {
                     34:        error("signal %d at px pc %d, lc %d", p->signo, p->pc, pc);
                     35:     }
                     36:     curline = srcline(pc);
                     37:     curfunc = whatblock(pc);
                     38:     skimsource(srcfilename(pc));
                     39:     if (p->signo == ESIGNAL) {
                     40:        printf("\nerror at ");
                     41:        printwhere(curline, cursource);
                     42:        if (errnum != 0) {
                     43:            printf(":  %s", pxerrmsg[errnum]);
                     44:        }
                     45:     } else {
                     46:        printf("\n\ninterrupt at ");
                     47:        printwhere(curline, cursource);
                     48:     }
                     49:     putchar('\n');
                     50:     printlines(curline, curline);
                     51:     erecover();
                     52: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.