diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/irmd/main.c | 12 | ||||
| -rw-r--r-- | src/irmd/prog_table.c | 25 | ||||
| -rw-r--r-- | src/irmd/prog_table.h | 7 | 
3 files changed, 3 insertions, 41 deletions
diff --git a/src/irmd/main.c b/src/irmd/main.c index 66bad7da..31f244d9 100644 --- a/src/irmd/main.c +++ b/src/irmd/main.c @@ -699,7 +699,6 @@ static int bind_program(char *   prog,                          char **  argv)  {          char *              progs; -        char *              progn;          char **             argv_dup = NULL;          int                 i;          char *              name_dup = NULL; @@ -719,13 +718,6 @@ static int bind_program(char *   prog,                          return -ENOMEM;                  } -                progn = strdup(name); -                if (progn == NULL) { -                        pthread_rwlock_unlock(&irmd.reg_lock); -                        free(progs); -                        return -ENOMEM; -                } -                  if ((flags & BIND_AUTO) && argc) {                  /* We need to duplicate argv and set argv[0] to prog. */                          argv_dup = malloc((argc + 2) * sizeof(*argv_dup)); @@ -739,17 +731,15 @@ static int bind_program(char *   prog,                                                  "%s to %s.",                                                  prog, name);                                          free(progs); -                                        free(progn);                                          return -ENOMEM;                                  }                          }                          argv_dup[argc + 1] = NULL;                  } -                e = prog_entry_create(progn, progs, flags, argv_dup); +                e = prog_entry_create(progs, flags, argv_dup);                  if (e == NULL) {                          pthread_rwlock_unlock(&irmd.reg_lock);                          free(progs); -                        free(progn);                          argvfree(argv_dup);                          return -ENOMEM;                  } diff --git a/src/irmd/prog_table.c b/src/irmd/prog_table.c index a6cc37ab..eb2b1966 100644 --- a/src/irmd/prog_table.c +++ b/src/irmd/prog_table.c @@ -30,14 +30,12 @@  #include <stdlib.h>  #include <string.h> -struct prog_entry * prog_entry_create(char *   progn, -                                      char *   prog, +struct prog_entry * prog_entry_create(char *   prog,                                        uint32_t flags,                                        char **  argv)  {          struct prog_entry * e; -        assert(progn);          assert(prog);          e = malloc(sizeof(*e)); @@ -47,7 +45,6 @@ struct prog_entry * prog_entry_create(char *   progn,          list_head_init(&e->next);          list_head_init(&e->names); -        e->progn = progn;          e->prog  = prog;          e->flags = flags; @@ -69,9 +66,6 @@ void prog_entry_destroy(struct prog_entry * e)          if (e == NULL)                  return; -        if (e->progn != NULL) -                free(e->progn); -          if (e->prog != NULL)                  free(e->prog); @@ -168,20 +162,3 @@ struct prog_entry * prog_table_get(struct list_head * prog_table,          return NULL;  } - -struct prog_entry * prog_table_get_by_progn(struct list_head * prog_table, -                                            char *             progn) -{ -        struct list_head * p; - -        assert(prog_table); -        assert(progn); - -        list_for_each(p, prog_table) { -                struct prog_entry * e = list_entry(p, struct prog_entry, next); -                if (!strcmp(e->progn, progn)) -                        return e; -        } - -        return NULL; -} diff --git a/src/irmd/prog_table.h b/src/irmd/prog_table.h index 35fb7784..eed046c8 100644 --- a/src/irmd/prog_table.h +++ b/src/irmd/prog_table.h @@ -30,15 +30,13 @@  struct prog_entry {          struct list_head next; -        char *           progn;   /* name for irmd */          char *           prog;    /* name of binary */          uint32_t         flags;          char **          argv;          struct list_head names; /* names that all instances will listen for */  }; -struct prog_entry * prog_entry_create(char *   progn, -                                      char *   prog, +struct prog_entry * prog_entry_create(char *   prog,                                        uint32_t flags,                                        char **  argv); @@ -59,7 +57,4 @@ void                prog_table_del(struct list_head * prog_table,  struct prog_entry * prog_table_get(struct list_head * prog_table,                                     char *             prog); -struct prog_entry * prog_table_get_by_progn(struct list_head * prog_table, -                                            char *             progn); -  #endif /* OUROBOROS_IRMD_PROG_TABLE_H */  | 
