=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/plugin/cmo.c,v retrieving revision 1.3 retrieving revision 1.6 diff -u -p -r1.3 -r1.6 --- OpenXM/src/kan96xx/plugin/cmo.c 1999/11/18 23:57:19 1.3 +++ OpenXM/src/kan96xx/plugin/cmo.c 2000/02/02 03:30:48 1.6 @@ -1,4 +1,4 @@ -/*$OpenXM$*/ +/*$OpenXM: OpenXM/src/kan96xx/plugin/cmo.c,v 1.5 2000/01/25 05:07:11 takayama Exp $*/ #include #include /* #include */ @@ -37,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. */ @@ -1318,8 +1320,9 @@ struct object newMathCap(struct mathCap *mathcap){ struct object ob3; struct object obOx; struct object obSm; + struct object ob3tmp; struct object *obp; - int i; + int i,j; struct object mathinfo; rob = newObjectArray(3); @@ -1329,17 +1332,17 @@ struct object newMathCap(struct mathCap *mathcap){ 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++) { @@ -1386,6 +1389,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); @@ -1439,7 +1443,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); }