=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/kanExport0.c,v retrieving revision 1.35 retrieving revision 1.40 diff -u -p -r1.35 -r1.40 --- OpenXM/src/kan96xx/Kan/kanExport0.c 2004/09/15 06:40:26 1.35 +++ OpenXM/src/kan96xx/Kan/kanExport0.c 2004/09/23 12:20:52 1.40 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport0.c,v 1.34 2004/09/13 11:24:11 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport0.c,v 1.39 2004/09/20 02:26:56 takayama Exp $ */ #include #include "datatype.h" #include "stackm.h" @@ -691,9 +691,9 @@ KooEqualQ(obj1,obj2) if (obj1.tag != obj2.tag) { warningKan("KooEqualQ(ob1,ob2): the datatypes of ob1 and ob2 are not same. Returns false (0).\n"); if (Verbose & 0x10) { - fprintf(stderr,"obj1="); + fprintf(stderr,"obj1(tag:%d)=",obj1.tag); printObject(obj1,0,stderr); - fprintf(stderr,", obj2="); + fprintf(stderr,", obj2(tag:%d)=",obj2.tag); printObject(obj2,0,stderr); fprintf(stderr,"\n"); fflush(stderr); } @@ -1041,6 +1041,9 @@ struct object KdataConversion(obj,key) }else if (strcmp(key,"null") == 0) { rob = NullObject; return(rob); + }else if (strcmp(key,"byteArray") == 0) { + rob = newByteArray(getoaSize(obj),obj); + return(rob); }else { { /* Automatically maps the elements. */ int n,i; @@ -1218,6 +1221,14 @@ struct object KdataConversion(obj,key) warningKan("Sorryl This type of data conversion of ringp has not supported yet.\n"); } break; + case SbyteArray: + if (strcmp(key,"array") == 0) { + rob = byteArrayToArray(obj); + return(rob); + } else { + warningKan("Sorryl This type of data conversion of ringp has not supported yet.\n"); + } + break; default: warningKan("Sorry. This type of data conversion has not supported yet.\n"); } @@ -3067,9 +3078,87 @@ struct object Kget(struct object ob1, struct object ob ob1 = rob; } return Kcar(ob1); + } else if (ob1.tag == SbyteArray) { + size = getByteArraySize(ob1); + if ((0 <= i) && (i 0) { + ba = (unsigned char *) sGC_malloc(size); + if (ba == NULL) errorKan1("%s\n","No more memory."); + } + rob.tag = SbyteArray; rob.lc.bytes = ba; rob.rc.ival = size; + if (obj.tag == SbyteArray) { + n = getByteArraySize(obj); + ba2 = KopByteArray(obj); + for (i=0; i<(n 0) { + ba = (unsigned char *) sGC_malloc(size); + if (ba == NULL) errorKan1("%s\n","No more memory."); + } + rob.tag = SbyteArray; rob.lc.bytes = ba; rob.rc.ival = size; + for (i=0; i