version 1.1.1.3, 2013/07/22 10:46:12
|
version 1.1.1.4, 2014/06/15 16:12:54
|
Line 131 alias_add(char *name, int type, struct member *members
|
Line 131 alias_add(char *name, int type, struct member *members
|
a->name = name; |
a->name = name; |
a->type = type; |
a->type = type; |
/* a->used = false; */ |
/* a->used = false; */ |
list2tq(&a->members, members); | HLTQ_TO_TAILQ(&a->members, members, entries); |
if (rbinsert(aliases, a)) { |
if (rbinsert(aliases, a)) { |
snprintf(errbuf, sizeof(errbuf), N_("Alias `%s' already defined"), name); |
snprintf(errbuf, sizeof(errbuf), N_("Alias `%s' already defined"), name); |
alias_free(a); |
alias_free(a); |
Line 176 alias_free(void *v)
|
Line 176 alias_free(void *v)
|
debug_decl(alias_free, SUDO_DEBUG_ALIAS) |
debug_decl(alias_free, SUDO_DEBUG_ALIAS) |
|
|
efree(a->name); |
efree(a->name); |
for (m = a->members.first; m != NULL; m = next) { | TAILQ_FOREACH_SAFE(m, &a->members, entries, next) { |
next = m->next; | |
if (m->type == COMMAND) { |
if (m->type == COMMAND) { |
c = (struct sudo_command *) m->name; |
c = (struct sudo_command *) m->name; |
efree(c->cmnd); |
efree(c->cmnd); |