=================================================================== RCS file: /home/cvs/OpenXM/src/kxx/oxlog.c,v retrieving revision 1.1.1.1 retrieving revision 1.5 diff -u -p -r1.1.1.1 -r1.5 --- OpenXM/src/kxx/oxlog.c 1999/10/08 02:12:13 1.1.1.1 +++ OpenXM/src/kxx/oxlog.c 2000/01/19 03:13:40 1.5 @@ -1,5 +1,8 @@ +/*$OpenXM: OpenXM/src/kxx/oxlog.c,v 1.4 1999/12/15 11:40:23 ohara Exp $*/ #include #include +#include +#include #include #include #include @@ -18,49 +21,62 @@ -ox /home/nobuki/kxx/ox_asir >& /dev/null 2 3 */ +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 (argc == 4) { - execl(argv[1],argv[1],argv[2],argv[3],NULL); + execl(oxname,oxname,argv[2],argv[3],NULL); }else if (argc == 5) { - execl(argv[1],argv[1],argv[2],argv[3],argv[4],NULL); + execl(oxname,oxname,argv[2],argv[3],argv[4],NULL); }else if (argc == 6) { - execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],NULL); + execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],NULL); }else if (argc == 7) { - execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6],NULL); + execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6],NULL); }else if (argc == 8) { - execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], + execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], argv[7],NULL); }else if (argc == 9) { - execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], + execl(oxname,oxname,argv[2],argv[3],argv[4],argv[5],argv[6], argv[7],argv[8],NULL); }else if (argc == 10) { - execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], + 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(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], + 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(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], + 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(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], + 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(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], + 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(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6], + 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 { fprintf(stderr,"Error in oxlog: cannot handle argc=%d\n",argc); + fprintf(stderr,"oxname=%s\n",oxname); for (i=0; i