Merge pull request #77 from AnonymusRaccoon/fixalias

Fixalias
This commit is contained in:
Octopus
2020-05-24 23:28:00 +02:00
committed by GitHub
3 changed files with 14 additions and 24 deletions
+7 -7
View File
@@ -33,6 +33,7 @@ void free_alias(alias_t *alias)
void remove_alias(char *alias, alias_t **list)
{
alias_t *prev = NULL;
alias_t *tmp = *list;
if (!tmp)
@@ -42,15 +43,14 @@ void remove_alias(char *alias, alias_t **list)
free_alias(tmp);
return;
}
for (alias_t *ptr = *list; ptr->next; ptr = ptr->next) {
if (strcmp(ptr->next->alias, alias) == 0) {
tmp = ptr->next;
ptr->next = ptr->next->next;
prev = tmp;
tmp = tmp->next;
for (; tmp; tmp = tmp->next) {
if (strcmp(tmp->alias, alias) == 0) {
prev->next = tmp->next;
free_alias(tmp);
return;
}
prev = tmp;
}
for (tmp = *list; tmp; tmp = tmp->next->next);
free_alias(tmp->next);
tmp->next = NULL;
}
+7 -6
View File
@@ -99,17 +99,16 @@ bool command_format_is_invalid(char **cmds, env_t *env, int *return_values)
int eval_raw_cmd(char *cmd, env_t *env)
{
int *return_values = NULL;
char **cmds = NULL;
int *return_values = get_return_separator(cmd);
char **cmds = split_str(cmd, (char *[]){";", "||", "&&", NULL});
char **const_cmd = cmds;
int ret = 0;
return_values = get_return_separator(cmd);
cmds = split_str(cmd, (char *[]){";", "||", "&&", NULL});
cmds = remove_leading_entries(cmds);
if (!cmds)
if (!cmds || !return_values)
return (-1);
if (command_format_is_invalid(cmds, env, return_values))
return (0);
return (free(const_cmd), free(return_values), 0);
for (int i = 0; cmds[i]; i++) {
if ((return_values[i] == 0 && get_return(my_getenv(env->vars, "?"))) ||
(return_values[i] == 1 && !get_return(my_getenv(env->vars, "?")))){
@@ -117,5 +116,7 @@ int eval_raw_cmd(char *cmd, env_t *env)
} else if (run_with_redirections(cmds[i], env, NULL))
ret = -1;
}
free(const_cmd);
free(return_values);
return (ret);
}
-11
View File
@@ -183,17 +183,6 @@ TESTS=
echo 'alias'
[917-END]
[918]
NAME="918"
SETUP=""
CLEAN=""
TESTS=
echo 'alias ls cd ..'
echo 'alias | grep cd'
echo 'alias ls cd'
echo 'alias | grep cd'
[918-END]
[919]
NAME="919"
SETUP=""