=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/kanExport0.c,v retrieving revision 1.37 retrieving revision 1.38 diff -u -p -r1.37 -r1.38 --- OpenXM/src/kan96xx/Kan/kanExport0.c 2004/09/17 02:42:57 1.37 +++ OpenXM/src/kan96xx/Kan/kanExport0.c 2004/09/20 02:11:22 1.38 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport0.c,v 1.36 2004/09/16 02:22:03 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport0.c,v 1.37 2004/09/17 02:42:57 takayama Exp $ */ #include #include "datatype.h" #include "stackm.h" @@ -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,7 +3078,68 @@ 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