=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/plugin/cmo.c,v retrieving revision 1.8 retrieving revision 1.10 diff -u -p -r1.8 -r1.10 --- OpenXM/src/kan96xx/plugin/cmo.c 2001/05/04 01:06:29 1.8 +++ OpenXM/src/kan96xx/plugin/cmo.c 2003/12/06 02:35:54 1.10 @@ -1,4 +1,4 @@ -/*$OpenXM: OpenXM/src/kan96xx/plugin/cmo.c,v 1.7 2001/04/15 07:55:07 takayama Exp $*/ +/*$OpenXM: OpenXM/src/kan96xx/plugin/cmo.c,v 1.9 2001/09/01 01:37:49 takayama Exp $*/ #include #include /* #include */ @@ -660,6 +660,12 @@ void cmoObjectToCmo00(struct object ob) case SuniversalNumber: cmoOutGMPCoeff(ob.lc.universalNumber->val.bigp); break; + case SrationalFunction: + tmp[0] = htonl(CMO_RATIONAL); + cmoOutputToBuf(CMOPUT,tmp,sizeof(cmoint)); + cmoObjectToCmo00(*(Knumerator(ob))); + cmoObjectToCmo00(*(Kdenominator(ob))); + break; case Sdouble: if (sizeof(double) != 8) errorCmo("double is assumed to be 8 bytes."); cmoOutRawInt(CMO_64BIT_MACHINE_DOUBLE); @@ -1011,8 +1017,8 @@ struct object cmoCmoToObject00(struct cmoBuffer *cb) }else{ ob1 = getoa(rob,0); if (ob1.tag != Sdollar) warningCmo("CMO_TREE : the first arg must be the node name by a string."); - ob2 = getoa(rob,1); /* content dictionary name. */ - if (ob2.tag != Sdollar) warningCmo("CMO_TREE : the second arg must be the node name by a string."); + ob2 = getoa(rob,1); /* Attribute List */ + if (ob2.tag != Sarray) warningCmo("CMO_TREE : the second arg must be a list of attributes."); rob = KpoTree(rob); } break;