=================================================================== RCS file: /home/cvs/OpenXM/src/kxx/serversm.h,v retrieving revision 1.4 retrieving revision 1.9 diff -u -p -r1.4 -r1.9 --- OpenXM/src/kxx/serversm.h 2005/06/16 05:07:24 1.4 +++ OpenXM/src/kxx/serversm.h 2015/10/10 11:29:46 1.9 @@ -1,4 +1,9 @@ /* server stack machine, serversm.h */ +/* miss of these declarations caused segfault of ox_sm1 2015.10.09 */ +#include +#include +void *sGC_malloc(int n); + void *Sm1_mathcap(void); int Sm1_setMathCap(ox_stream os); void Sm1_pops(void); @@ -15,7 +20,20 @@ void Sm1_getsp(void); void Sm1_dupErrors(void); void Sm1_pushCMOtag(int serial); +#include +#if defined(__CYGWIN__) || defined(__MSYS__) +#define MYSETJMP(e) _setjmp(e) +#define MYSIGSETJMP(e,f) _setjmp(e) +#define MYLONGJMP(e,f) _longjmp(e,f) +#define MYSIGLONGJMP(e,f) _longjmp(e,f) +#else +#define MYSETJMP(e) setjmp(e) +#define MYSIGSETJMP(e,f) sigsetjmp(e,f) +#define MYLONGJMP(e,f) longjmp(e,f) +#define MYSIGLONGJMP(e,f) siglongjmp(e,f) +#endif + /******************** Object from Kan/stackm.h *************************/ #define Snull 0 #define Sinteger 1 /* integer */ @@ -61,10 +79,12 @@ void KSpush(struct object ob); struct object KfindUserDictionary(char *s); struct object KputUserDictionary(char *s,struct object ob); struct object KnewErrorPacket(int serial,int no,char *s); +struct object KnewErrorPacketObj(struct object); struct object KSmathCap(void); /* defined plugin/cmo.c */ void *KSmathCapByStruct(void); /* defined plugin/cmo.c */ char *popErrorStackByString(void); struct object KSdupErrors(void); struct object KpoInteger(int i); +struct object KpoString(char *s); struct object KSpeek(int k); - +struct object KSnewObjectArray(int k);