=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/kanExport0.c,v retrieving revision 1.45 retrieving revision 1.49 diff -u -p -r1.45 -r1.49 --- OpenXM/src/kan96xx/Kan/kanExport0.c 2005/07/03 11:08:53 1.45 +++ OpenXM/src/kan96xx/Kan/kanExport0.c 2015/10/08 11:49:37 1.49 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport0.c,v 1.44 2005/06/16 06:21:21 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport0.c,v 1.48 2012/09/16 01:53:08 takayama Exp $ */ #include #include #include @@ -940,6 +940,7 @@ struct object KdataConversion(obj,key) rob = newObjectArray(0); return rob; }else{ + /* fprintf(stderr,"key=%s\n",key); */ warningKan("Sorry. The data conversion from null to this data type has not supported yet.\n"); } break; @@ -1659,6 +1660,7 @@ int KsetUpRing(ob1,ob2,ob3,ob4,ob5) newRingp->cc = cc; newRingp->x = xvars; newRingp->D = dvars; + newRingp->Dsmall = makeDsmall(dvars,n); /* You don't need to set order and orderMatrixSize here. It was set by setOrder(). */ setFromTo(newRingp); @@ -2269,6 +2271,56 @@ struct object KstringToArgv(struct object ob) { return(rob); } +struct object KstringToArgv2(struct object ob,struct object oseparator) { + struct object rob = OINIT; + char *s; + int n,wc,i,inblank; + char **argv; + int separator; + if (ob.tag != Sdollar) + errorKan1("%s\n","KstringToArgv2(): the argument must be a string."); + if (oseparator.tag == Sinteger) { + separator = KopInteger(oseparator); + }else if (oseparator.tag == Sdollar) { + s = KopString(oseparator); + separator=s[0]; + }else { + errorKan1("%s\n","KstringToArgv2(ob,separator):the argument must be strings."); + } + n = strlen(KopString(ob)); + s = (char *) sGC_malloc(sizeof(char)*(n+2)); + if (s == NULL) errorKan1("%s\n","KstringToArgv(): No memory."); + strcpy(s,KopString(ob)); + inblank = 1; wc = 0; + for (i=0; i