Admin/Linux/Isabelle.c
changeset 71363 ce3409dfb18c
parent 71338 373dcdd363dc
child 73189 541f8630aa25
equal deleted inserted replaced
71362:597059a44d6f 71363:ce3409dfb18c
    18 }
    18 }
    19 
    19 
    20 
    20 
    21 int main(int argc, char *argv[])
    21 int main(int argc, char *argv[])
    22 {
    22 {
    23   char **cmd_line = NULL, *cmd = NULL, *dcmd = NULL, *bcmd = NULL, *dname = NULL, *bname = NULL;
    23   char **cmd_line = NULL, *cmd = NULL, *dcmd = NULL, *dname = NULL;
    24   int i = 0;
    24   int i = 0;
    25 
    25 
    26   dcmd = strdup(argv[0]); dname = dirname(dcmd);
    26   dcmd = strdup(argv[0]);
    27   bcmd = strdup(argv[0]); bname = basename(bcmd);
    27   dname = dirname(dcmd);
    28 
    28 
    29   cmd_line = malloc(sizeof(char *) * (argc + 1));
    29   cmd_line = malloc(sizeof(char *) * (argc + 1));
    30   if (cmd_line == NULL) fail("Failed to allocate command line");
    30   if (cmd_line == NULL) fail("Failed to allocate command line");
    31 
    31 
    32   cmd = cmd_line[0];
    32   cmd = cmd_line[0];
    33   cmd = malloc(strlen(dname) + strlen(bname) + strlen("/lib/scripts/.run") + 1);
    33   cmd = malloc(strlen(dname) + strlen("/lib/scripts/Isabelle_app") + 1);
    34   if (cmd == NULL) fail("Failed to allocate command name");
    34   if (cmd == NULL) fail("Failed to allocate command name");
    35   sprintf(cmd, "%s/lib/scripts/%s.run", dname, bname);
    35   sprintf(cmd, "%s/lib/scripts/Isabelle_app", dname);
    36 
    36 
    37   for (i = 1; i < argc; i++) cmd_line[i] = argv[i];
    37   for (i = 1; i < argc; i++) cmd_line[i] = argv[i];
    38 
    38 
    39   cmd_line[argc] = NULL;
    39   cmd_line[argc] = NULL;
    40 
    40