=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/shell.c,v retrieving revision 1.10 retrieving revision 1.13 diff -u -p -r1.10 -r1.13 --- OpenXM/src/kan96xx/Kan/shell.c 2004/02/05 10:35:04 1.10 +++ OpenXM/src/kan96xx/Kan/shell.c 2005/06/16 05:07:23 1.13 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/shell.c,v 1.9 2003/12/13 13:29:44 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/shell.c,v 1.12 2004/10/14 10:08:09 takayama Exp $ */ #include #include #include @@ -108,7 +108,7 @@ void KoxShellHelp(char *key,FILE *fp) { static struct object KoxShell_test1(struct object ob) { /* A simple shell. It does not implement a parser. */ - struct object rob; + struct object rob = OINIT; char *cmd; char *arg1,*arg2; int i,n; @@ -125,9 +125,13 @@ static struct object KoxShell_test1(struct object ob) rob = testmain(ob); }else if (strcmp(cmd,"which")==0) { if (n == 2) { + pathFinderErrorVerbose(0); rob = KoxWhich(getoa(ob,1),KpoInteger(0)); + pathFinderErrorVerbose(-1); }else if (n==3) { + pathFinderErrorVerbose(0); rob = KoxWhich(getoa(ob,1),getoa(ob,2)); + pathFinderErrorVerbose(-1); }else{ errorKan1("%s\n","shell: << which command-name >> or << which command-name path >>"); } @@ -155,7 +159,7 @@ static struct object KoxShell_test1(struct object ob) /* Functions for ox_shell */ struct object KoxWhich(struct object cmdo,struct object patho) { - struct object rob; + struct object rob = OINIT; char *sss; rob = NullObject; if (cmdo.tag != Sdollar) errorKan1("%s\n","KoxWhich(str-obj,str-obj)"); @@ -180,7 +184,7 @@ static int mysetenv(char *name, char *value, int overw char *orig; s = (char *)getenv(name); if ((s == NULL) || overwrite) { - s = (char *) malloc(strlen(name)+strlen(value)+5); + s = (char *) mymalloc(strlen(name)+strlen(value)+5); if (s == 0) { fprintf(stderr,"No more memory.\n"); exit(10); } strcpy(s,name); strcat(s,"="); strcat(s,value); @@ -197,7 +201,7 @@ static myunsetenv(char *name) { /* Example. [(export) (PATH) (=) (/usr/new/bin:$PATH)] */ static struct object oxsSetenv(struct object ob) { - struct object rob; + struct object rob = OINIT; int i,n; char *envp; char *new; @@ -371,9 +375,9 @@ char *oxsURIgetFileName(char *s) { static struct object testmain(struct object ob) { - struct object rob; + struct object rob = OINIT; char *s; - struct object ot; + struct object ot = OINIT; char **av; int i; rob = NullObject; @@ -402,7 +406,7 @@ char *oxsVarToFile(char *v,char *ext,char *command,int FILE *fp; int n,i,prevc,c; char *prog; - struct object vv; + struct object vv = OINIT; /*bug; winname must be automatically set by looking at command. If command is win32-native-application, then winname=1; else winname=0. @@ -484,7 +488,7 @@ static char **oxsBuildArgv(struct object ob) { char *ext, *v; int usetmp=1; int win=0; - struct object ocmd; + struct object ocmd = OINIT; /* bug: win variable must be properly set on windows native. */