[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     ! 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>