fix unalias

This commit is contained in:
Louis
2020-05-24 23:09:35 +02:00
parent 4f578a4e53
commit 66e7676e3a
+7 -7
View File
@@ -33,6 +33,7 @@ void free_alias(alias_t *alias)
void remove_alias(char *alias, alias_t **list) void remove_alias(char *alias, alias_t **list)
{ {
alias_t *prev = NULL;
alias_t *tmp = *list; alias_t *tmp = *list;
if (!tmp) if (!tmp)
@@ -42,15 +43,14 @@ void remove_alias(char *alias, alias_t **list)
free_alias(tmp); free_alias(tmp);
return; return;
} }
for (alias_t *ptr = *list; ptr->next; ptr = ptr->next) { prev = tmp;
if (strcmp(ptr->next->alias, alias) == 0) { tmp = tmp->next;
tmp = ptr->next; for (; tmp; tmp = tmp->next) {
ptr->next = ptr->next->next; if (strcmp(tmp->alias, alias) == 0) {
prev->next = tmp->next;
free_alias(tmp); free_alias(tmp);
return; return;
} }
prev = tmp;
} }
for (tmp = *list; tmp; tmp = tmp->next->next);
free_alias(tmp->next);
tmp->next = NULL;
} }