=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/kclass.c,v retrieving revision 1.4 retrieving revision 1.6 diff -u -p -r1.4 -r1.6 --- OpenXM/src/kan96xx/Kan/kclass.c 2001/05/04 01:06:24 1.4 +++ OpenXM/src/kan96xx/Kan/kclass.c 2006/01/30 10:38:36 1.6 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/kclass.c,v 1.3 2001/04/12 06:48:26 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/kclass.c,v 1.5 2005/06/16 05:07:23 takayama Exp $ */ /* kclass.c, 1997, 3/1 This module handles class data base. This is a top level and provides an interface for sm1 for Sclass objects. @@ -160,7 +160,7 @@ void fprintMathCap(FILE *fp,struct object *op) } struct object KpoMathCap(struct object *obp) { - struct object rob; + struct object rob = OINIT; struct object *newobp; newobp = (struct object *) sGC_malloc(sizeof(struct object)); @@ -185,13 +185,16 @@ struct object KclassDataConversion(struct object ob1,s ob1(with class tag) [(class) (class-name)] dc : method=2 ob1(with class tag) (usual flag) dc : method=3 It also create a new class object. + ob1 (error) dc --> ErrorObject with the contents ob1 + + ob1(with class tag) (body) dc --> [left tag, right body of ob1.] */ struct object rob = NullObject; int method ; - struct object ff0; - struct object ff1; - struct object ob3; /* for work.*/ - struct object ob4; + struct object ff0 = OINIT; + struct object ff1 = OINIT; + struct object ob3 = OINIT; /* for work.*/ + struct object ob4 = OINIT; char *ccc; char *key; @@ -281,6 +284,13 @@ struct object KclassDataConversion(struct object ob1,s }else if (strcmp(key,"error")==0) { rob = KnewErrorPacketObj(ob1); return(rob); + } + }else if (key[0] == 'b') { + if (strcmp(key,"body") == 0) { + rob = newObjectArray(2); + putoa(rob,0,KpoInteger(ectag(ob1))); + putoa(rob,1,*((struct object *)(ecbody(ob1)))); + return rob; } }