=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/parser.c,v retrieving revision 1.6 retrieving revision 1.12 diff -u -p -r1.6 -r1.12 --- OpenXM/src/kan96xx/Kan/parser.c 2004/05/13 10:37:30 1.6 +++ OpenXM/src/kan96xx/Kan/parser.c 2015/10/08 11:49:37 1.12 @@ -1,15 +1,17 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/parser.c,v 1.5 2002/11/04 10:53:55 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/parser.c,v 1.11 2015/09/29 01:52:14 takayama Exp $ */ /* parser.c parser for poly.c */ #include +#include #include "datatype.h" #include "setjmp.h" #include "stackm.h" #include "extern.h" #include "extern2.h" + #define NUM 1 /* NUM means struct Bignum */ #define POL 0 @@ -123,9 +125,9 @@ POLY stringToPOLY(s,ringp) Ring0.p = 0; Ring0.next = (struct ring *)NULL; #if defined(__CYGWIN__) - if (sigsetjmp(EnvOfParser,1)) { + if (MYSIGSETJMP(EnvOfParser,1)) { #else - if (setjmp(EnvOfParser)) { + if (MYSETJMP(EnvOfParser)) { #endif fprintf(stderr,"\nERROR: You have syntax errors in the expression: %s\n",s); errorKan1("%s\n"," parser.c : Syntax error in the input polynomial."); @@ -486,7 +488,7 @@ static void factor() { static void monom() { union valObject utmp; - struct object obj; + struct object obj = OINIT; POLY f; extern struct context *CurrentContextp; if (Symbol == 'x' || Symbol == 'd') { @@ -567,8 +569,10 @@ static void errorParser(s) char s[]; { extern char *GotoLabel; extern int GotoP; extern int ErrorMessageMode; + extern int RestrictedMode, RestrictedMode_saved; int j; char tmpc[1024]; + RestrictedMode = RestrictedMode_saved; cancelAlarm(); if (ErrorMessageMode == 1 || ErrorMessageMode == 2) { sprintf(tmpc,"\nError(parser.c): "); @@ -598,9 +602,9 @@ static void errorParser(s) char s[]; { GotoP = 0; } #if defined(__CYGWIN__) - siglongjmp(EnvOfParser,1); + MYSIGLONGJMP(EnvOfParser,1); #else - longjmp(EnvOfParser,1); + MYLONGJMP(EnvOfParser,1); #endif }