[BACK]Return to stackmachine.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Kan

Diff for /OpenXM/src/kan96xx/Kan/stackmachine.c between version 1.35 and 1.38

version 1.35, 2006/02/02 04:16:49 version 1.38, 2015/09/29 01:52:14
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kan96xx/Kan/stackmachine.c,v 1.34 2006/02/01 00:30:05 takayama Exp $ */  /* $OpenXM: OpenXM/src/kan96xx/Kan/stackmachine.c,v 1.37 2015/09/27 08:12:42 takayama Exp $ */
 /*   stackmachin.c */  /*   stackmachin.c */
   
 #include <stdio.h>  #include <stdio.h>
Line 12 
Line 12 
 #include <signal.h>  #include <signal.h>
 #include <sys/types.h>  #include <sys/types.h>
   
   /* The msys2 seems to make a buffer overflow of  EnvOfStackmachine[].
   The code
   [(x) ring_of_differential_operators 11] define_ring
   ( Dx*(x+Dx) ) /ff set
   causes the segfault because Mp_zero is borken. Is it a bug of msys2?
   Anyway, the following definition seems to be a workaround. 2015.09
   Singnals do not work properly on msys2. (gcc -dM -E ... to see macros defs)
   */
   #if defined(__MSYS__) || defined(__CYGWIN__)
   #define setjmp(e) _setjmp(e)
   #define sigsetjmp(e,n) _setjmp(e)
   #endif
   
 /* #define OPERAND_STACK_SIZE  2000 */  /* #define OPERAND_STACK_SIZE  2000 */
 #define OPERAND_STACK_SIZE 30000  #define OPERAND_STACK_SIZE 30000
Line 1068  int executeToken(token)
Line 1080  int executeToken(token)
         {          {
           char tmpc[1024];            char tmpc[1024];
           if (strlen(token.token) < 900) {            if (strlen(token.token) < 900) {
             sprintf(tmpc,"\n%%Warning: The identifier <<%s>> is not in the system dictionary\n%%   nor in the user dictionaries. Push NullObject.\n",token.token);              sprintf(tmpc,"\n>>Warning: The identifier <<%s>> is not in the system dictionary\n>>   nor in the user dictionaries. Push NullObject.\n",token.token);
           }else {strcpy(tmpc,"\n%%Warning: identifier is not in the dictionaries.\n");}            }else {strcpy(tmpc,"\n>>Warning: identifier is not in the dictionaries.\n");}
             /* do not use %% in a string. tmpc will be used as  fprintf(stderr,tmpc); */
           if (WarningMessageMode == 1 || WarningMessageMode == 2) {            if (WarningMessageMode == 1 || WarningMessageMode == 2) {
             pushErrorStack(KnewErrorPacket(SerialCurrent,-1,tmpc));              pushErrorStack(KnewErrorPacket(SerialCurrent,-1,tmpc));
           }            }

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.38

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>