=================================================================== RCS file: /home/cvs/OpenXM/src/kxx/oxlog.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -r1.7 -r1.8 --- OpenXM/src/kxx/oxlog.c 2000/02/09 12:24:52 1.7 +++ OpenXM/src/kxx/oxlog.c 2000/06/19 07:48:01 1.8 @@ -1,4 +1,4 @@ -/*$OpenXM: OpenXM/src/kxx/oxlog.c,v 1.6 2000/02/09 12:02:56 takayama Exp $*/ +/*$OpenXM: OpenXM/src/kxx/oxlog.c, v 1.7 2000/02/09 12:24:52 takayama Exp $*/ #include #include #include @@ -22,154 +22,89 @@ 2 3 */ static int Debug_which = 1; -char *toFullPath(char *s); -char *which(char *s,char *env); -main(int argc, char *argv[]) { - sigset_t sss; - int i; - char *oxname ="???"; - /* char *env[2]; - env[0] = NULL;*/ - sigemptyset(&sss); - sigaddset(&sss,SIGINT); - sigprocmask(SIG_BLOCK,&sss,NULL); - if (argc >= 2) { - oxname = argv[1]; - oxname = toFullPath(oxname); - if (oxname == NULL) oxname="NULL"; - } - if (argc == 2) { - execl(oxname,oxname,NULL); - }else if (argc == 3) { - execl(oxname,oxname,argv[2],NULL); - }else if (argc == 4) { - execl(oxname,oxname,argv[2],argv[3],NULL); - }else if (argc == 5) { - execl(oxname,oxname,argv[2],argv[3],argv[4],NULL); - }else if (argc == 6) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],NULL); - }else if (argc == 7) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6],NULL); - }else if (argc == 8) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],NULL); - }else if (argc == 9) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],NULL); - }else if (argc == 10) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],NULL); - }else if (argc == 11) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],NULL); - }else if (argc == 12) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],argv[11],NULL); - }else if (argc == 13) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],NULL); - }else if (argc == 14) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],argv[13],NULL); - }else if (argc == 15) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],argv[13],argv[14],NULL); - }else if (argc == 16) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],argv[13],argv[14],argv[15],NULL); - }else if (argc == 17) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],argv[13],argv[14],argv[15],argv[16],NULL); - }else if (argc == 18) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],argv[13],argv[14],argv[15],argv[16],argv[17],NULL); - }else if (argc == 19) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],argv[13],argv[14],argv[15],argv[16],argv[17],argv[18],NULL); - }else if (argc == 20) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],argv[13],argv[14],argv[15],argv[16],argv[17],argv[18],argv[19],NULL); - }else if (argc == 21) { - execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], - argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],argv[13],argv[14],argv[15],argv[16],argv[17],argv[18],argv[19],argv[20],NULL); - }else { - fprintf(stderr,"Error in oxlog: cannot handle argc=%d\n",argc); - fprintf(stderr,"oxname=%s\n",oxname); - for (i=0; i& /dev/null\n"); - exit(10); - } - fprintf(stderr,"\nError in oxlog: Failed to start the process.\n"); - fprintf(stderr,"oxname=%s\n",oxname); - for (i=0; i= 2) { + oxname = toFullPath(argv[1]); + if (oxname == NULL) { + oxname = "NULL"; + } /* Why? */ + execv(oxname, argv+1); + + fprintf(stderr, "\nError in oxlog: Failed to start the process.\n"); + fprintf(stderr, "oxname=%s\n", oxname); + for (i=0; i& /dev/null\n"); + exit(10); } - free(path); - tok = strtok(NULL, delim); - } - return NULL; } -