=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/plugin/cmo.c,v retrieving revision 1.1.1.1 retrieving revision 1.7 diff -u -p -r1.1.1.1 -r1.7 --- OpenXM/src/kan96xx/plugin/cmo.c 1999/10/08 02:12:05 1.1.1.1 +++ OpenXM/src/kan96xx/plugin/cmo.c 2001/04/15 07:55:07 1.7 @@ -1,6 +1,7 @@ +/*$OpenXM: OpenXM/src/kan96xx/plugin/cmo.c,v 1.6 2000/02/02 03:30:48 takayama Exp $*/ #include #include -#include +/* #include */ #include #include "datatype.h" #include "stackm.h" @@ -36,7 +37,9 @@ int CmoClientMode = 1; /* This flag is used to transl **************************************************************************/ /* If you change the format of mathcap, do the follows. Mofify cmoCheckMathCap in oxmisc2.c, - oxReq, SM_setMathCap:, and + oxSendMathCap in oxmisc.c, + newMathCap in cmo.c, + oxReq, SM_setMathCap: in oxmisc2.c, and grep mathCap and make all modifications. */ @@ -86,7 +89,7 @@ struct cmoBuffer *cmoOutputToBuf(cmoAction a,void *dat break; case CMOPUT: for (i=0; ibuf); for (i=0; in); - for (i=0; in; i++) { - putoa(ob2,i,KpoInteger((mathcap->cmo)[i])); - } - obOx = newObjectArray(mathcap->oxSize); + ob3 = newObjectArray(mathcap->oxSize); for (i=0; ioxSize; i++) { - putoa(obOx,i,KpoInteger((mathcap->ox)[i])); + ob3tmp = newObjectArray(2); + putoa(ob3tmp,0,KpoInteger((mathcap->ox)[i])); + ob2 = newObjectArray(mathcap->n); + for (j=0; jn; j++) { + putoa(ob2,j,KpoInteger((mathcap->cmo)[j])); + } + putoa(ob3tmp,1,ob2); + putoa(ob3,i,ob3tmp); } - ob3 = newObjectArray(2); - putoa(ob3,0,obOx); - putoa(ob3,1,ob2); obSm = newObjectArray(mathcap->smSize); for (i=0; ismSize; i++) { @@ -1385,6 +1395,7 @@ void *KSmathCapByStruct(void) putoa(ob,1,KpoString(sys)); putoa(ob,2,KpoString(sysVersion)); s1 = getenv("HOSTTYPE"); + if (s1 == NULL) s1="unknown"; s2 = (char *)sGC_malloc(strlen(s1)+2+strlen("HOSTTYPE=")); strcpy(s2,"HOSTTYPE="); strcat(s2,s1); @@ -1438,7 +1449,8 @@ void *KSmathCapByStruct(void) mathcap->sm[8] = SM_setMathCap; mathcap->sm[9] = SM_getsp; mathcap->sm[10] = SM_dupErrors; - mathcap->smSize = 11; + mathcap->sm[11] = SM_pushCMOtag; + mathcap->smSize = 12; return((void *)mathcap); }