=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/kanExport0.c,v retrieving revision 1.36 retrieving revision 1.42 diff -u -p -r1.36 -r1.42 --- OpenXM/src/kan96xx/Kan/kanExport0.c 2004/09/16 02:22:03 1.36 +++ OpenXM/src/kan96xx/Kan/kanExport0.c 2005/06/09 05:46:57 1.42 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport0.c,v 1.35 2004/09/15 06:40:26 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport0.c,v 1.41 2004/11/15 08:27:27 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"); } @@ -1511,7 +1522,7 @@ int KsetUpRing(ob1,ob2,ob3,ob4,ob5) ob4 = Order matrix ob5 = [(keyword) value (keyword) value ....] */ -#define RP_LIMIT 500 +#define RP_LIMIT 5000 { int i; struct object ob; @@ -3067,11 +3078,166 @@ 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