=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/ext.c,v retrieving revision 1.30 retrieving revision 1.32 diff -u -p -r1.30 -r1.32 --- OpenXM/src/kan96xx/Kan/ext.c 2004/09/14 01:57:15 1.30 +++ OpenXM/src/kan96xx/Kan/ext.c 2004/09/17 12:32:11 1.32 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/ext.c,v 1.29 2004/09/12 01:32:08 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/ext.c,v 1.31 2004/09/16 23:53:44 takayama Exp $ */ #include #include #include @@ -155,6 +155,13 @@ struct object Kextension(struct object obj) errorKan1("%s\n","The number must be 0, 1 or 2.");*/ putUserDictionary2((char *)NULL,0,0,m | SET_ATTR_FOR_ALL_WORDS, CurrentContextp->userDictionary); + }else if (strcmp(key,"or_attrs")==0) { + if (size != 2) errorKan1("%s\n","[(or_attrs) num] extension."); + obj1 = getoa(obj,1); + if (obj1.tag != Sinteger) errorKan1("%s\n","[(or_attrs) num] extension."); + m = KopInteger(obj1); + putUserDictionary2((char *)NULL,0,0,m | OR_ATTR_FOR_ALL_WORDS, + CurrentContextp->userDictionary); }else if (strcmp(key,"keywords")==0) { if (size != 1) errorKan1("%s\n","[(keywords)] extension."); rob = showSystemDictionary(1); @@ -211,6 +218,12 @@ struct object Kextension(struct object obj) putoa(obj3,0,KpoInteger((int) buf.st_size)); putoa(rob,1,obj3); /* We have not yet read buf fully */ } + }else if (strcmp(key,"gethostname")==0) { + abc = (char *)sGC_malloc(sizeof(char)*1024); + if (gethostname(abc,1023) < 0) { + errorKan1("%s\n","hostname could not be obtained."); + } + rob = KpoString(abc); }else if (strcmp(key,"forkExec")==0) { if (size != 4) errorKan1("%s\n","[(forkExec) argList fdList sigblock] extension."); obj1 = getoa(obj,1);