[ADD] colison in alias

This commit is contained in:
Arthur-gtr
2025-04-21 17:49:44 +02:00
parent a233c8e17d
commit 776c328940

View File

@@ -72,7 +72,7 @@ char *array_nto_strdup(char **array, int i)
}
static
int add_alias(alias_t *alias, char **args)
int add_alias_array(alias_t *alias, char **args)
{
char **new_alias_array =
realloc(alias->alias_array, sizeof(char *) * alias->size);
@@ -91,6 +91,21 @@ int add_alias(alias_t *alias, char **args)
return RETURN_SUCCESS;
}
int add_alias(alias_t *alias, char **args)
{
int replace = -1;
for (size_t i = 0; i != alias->size - 1; i++)
if (!strcmp(args[1], alias->alias_array[i]))
replace = (int)(i);
if (replace == -1)
return add_alias_array(alias, args);
alias->size--;
free(alias->alias_to_replace[replace]);
alias->alias_to_replace[replace] = array_nto_strdup(args, 2);
return RETURN_SUCCESS;
}
int builtins_alias(ef_t *ef, char **args)
{
alias_t *alias = ef->exec_ctx->alias;