[BACK]Return to oxlog.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kxx

Annotation of OpenXM/src/kxx/oxlog.c, Revision 1.1.1.1

1.1       maekawa     1: #include <stdio.h>
                      2: #include <signal.h>
                      3: #include <sys/types.h>
                      4: #include <sys/stat.h>
                      5: #include <fcntl.h>
                      6: /* In some distributions of linux you need to include the following file
                      7: #include <linux/sched.h>
                      8: */
                      9: #include <unistd.h>
                     10:
                     11: /* oxlog /usr/X11R6/bin/xterm -icon -e /home/nobuki/kxx/ox
                     12:     0     1                    2     3  4
                     13:          -ox /home/nobuki/kxx/ox_asir
                     14:           5   6
                     15: */
                     16: /* oxlog /home/nobuki/kxx/ox
                     17:     0     1
                     18:          -ox /home/nobuki/kxx/ox_asir  >& /dev/null
                     19:           2     3
                     20: */
                     21: main(int argc, char *argv[]) {
                     22:   sigset_t sss;
                     23:   int i;
                     24:   /* char *env[2];
                     25:   env[0] = NULL;*/
                     26:   sigemptyset(&sss);
                     27:   sigaddset(&sss,SIGINT);
                     28:   sigprocmask(SIG_BLOCK,&sss,NULL);
                     29:
                     30:   if (argc == 4) {
                     31:     execl(argv[1],argv[1],argv[2],argv[3],NULL);
                     32:   }else if (argc == 5) {
                     33:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],NULL);
                     34:   }else if (argc == 6) {
                     35:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],NULL);
                     36:   }else if (argc == 7) {
                     37:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6],NULL);
                     38:   }else if (argc == 8) {
                     39:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6],
                     40:          argv[7],NULL);
                     41:   }else if (argc == 9) {
                     42:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6],
                     43:          argv[7],argv[8],NULL);
                     44:   }else if (argc == 10) {
                     45:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6],
                     46:          argv[7],argv[8],argv[9],NULL);
                     47:   }else if (argc == 11) {
                     48:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6],
                     49:          argv[7],argv[8],argv[9],argv[10],NULL);
                     50:   }else if (argc == 12) {
                     51:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6],
                     52:          argv[7],argv[8],argv[9],argv[10],argv[11],NULL);
                     53:   }else if (argc == 13) {
                     54:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6],
                     55:          argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],NULL);
                     56:   }else if (argc == 14) {
                     57:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6],
                     58:          argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],argv[13],NULL);
                     59:   }else if (argc == 15) {
                     60:     execl(argv[1],argv[1],argv[2],argv[3],argv[4],argv[5],argv[6],
                     61:          argv[7],argv[8],argv[9],argv[10],argv[11], argv[12],argv[13],argv[14],NULL);
                     62:   }else {
                     63:     fprintf(stderr,"Error in oxlog: cannot handle argc=%d\n",argc);
                     64:     for (i=0; i<argc; i++) {
                     65:       fprintf(stderr,"argv[%d]=%s ",i,argv[i]);
                     66:     }
                     67:     fprintf(stderr,"\n");
                     68:     fprintf(stderr,"Usage example 1: oxlog /usr/X11R6/bin/xterm -icon -e /home/nobuki/kxx/ox -ox /home/nobuki/kxx/ox_asir\n");
                     69:     fprintf(stderr,"      example 2: oxlog /home/nobuki/kxx/ox -ox /home/nobuki/kxx/ox_asir >& /dev/null\n");
                     70:     exit(10);
                     71:   }
                     72:   fprintf(stderr,"\nError in oxlog: Failed to start the process.\n");
                     73:   for (i=0; i<argc; i++) {
                     74:     fprintf(stderr,"argv[%d]=%s ",i,argv[i]);
                     75:   }
                     76:   fprintf(stderr,"\n");
                     77:   exit(20);
                     78: }
                     79: mainold1() {
                     80:   sigset_t sss;
                     81:   int i;
                     82:   /* char *env[2];
                     83:   env[0] = NULL;*/
                     84:   sigemptyset(&sss);
                     85:   sigaddset(&sss,SIGINT);
                     86:   sigprocmask(SIG_BLOCK,&sss,NULL);
                     87:   /* for (i=0; i<1000; i++) {
                     88:      sleep(1);
                     89:      printf("Hello\n");
                     90:      }
                     91:      exit(0); */
                     92:   execl("/usr/X11R6/bin/xterm","/usr/X11R6/bin/xterm",
                     93:        "-e","/home/nobuki/kxx/ox","-ox","/home/nobuki/kxx/ox_asir",NULL);
                     94: /*  execl("/home/nobuki/kxx/ox","/home/nobuki/kxx/ox","-ox","/home/nobuki/kxx/ox_asir",NULL);*/
                     95: }
                     96:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>