Annotation of parser3/src/main/pa_error.C, revision 1.2

1.1       paf         1: /*
1.2     ! paf         2:   $Id: pa_error.C,v 1.1 2001/01/29 20:46:22 paf Exp $
1.1       paf         3: */
                      4: 
                      5: #include <stdio.h>
                      6: #include <stdlib.h>
                      7: 
                      8: #include "pa_error.h"
                      9: #include "pa_common.h"
                     10: 
                     11: void Error::die(char *acomment) {
                     12:        // FIX: log(LOG_ERROR, acomment)
1.2     ! paf        13:        fprintf(stderr, "die: %s\n", acomment);
1.1       paf        14:        exit(1);
                     15: }
                     16: 
1.2     ! paf        17: void Error::prepare_begin() {
1.1       paf        18:        fproblem_source=0;
                     19:        fcomment[0]=0;
                     20:        valid=true;
                     21: }
                     22: 
                     23: void Error::raise(String *aproblem_source, char *comment_fmt, ...) {
                     24:        if(!valid)
                     25:                die("Error::raise(...) -- without begin()");
                     26: 
                     27:        fproblem_source=aproblem_source;
                     28:        
                     29:        va_list args;
                     30:     va_start(args, comment_fmt);
1.2     ! paf        31:     vsnprintf(fcomment, MAX_STRING, comment_fmt, args);
1.1       paf        32:     va_end(args);
                     33: 
                     34:        longjmp(mark, 1);
                     35: }
                     36: 
                     37: String *Error::problem_source() {
                     38:        if(!valid)
                     39:                die("Error::problem_source() -- without begin()");
                     40:        
                     41:        return fproblem_source;
                     42: }
                     43: 
                     44: char *Error::comment() {
                     45:        if(!valid)
                     46:                die("Error::comment() -- without begin()");
                     47:        
                     48:        return fcomment;
                     49: }

E-mail: