clean: create function to not repeat code

This commit is contained in:
starnakin 2023-07-05 00:23:04 +02:00
parent e4099c2621
commit 0e4fa1d6db
3 changed files with 16 additions and 20 deletions

View File

@ -112,11 +112,23 @@ void alias_del(void *ptr)
free(alias->value); free(alias->value);
free(alias); free(alias);
} }
void print_aliases(lst** aliases, int fd_out)
{
lst* current = *aliases;
alias_t* content;
while (current != NULL)
{
content = current->content;
dprintf(fd_out, "%s='%s'\n", content->key, content->value);
current = current->next;
}
}
int alias_save(lst** aliases, lst** env) int alias_save(lst** aliases, lst** env)
{ {
int fd; int fd;
alias_t* content;
lst* current = *aliases;
char* file_path = get_zzsh_aliases(env); char* file_path = get_zzsh_aliases(env);
fd = open(file_path, O_WRONLY); fd = open(file_path, O_WRONLY);
if (fd == -1) if (fd == -1)
@ -124,11 +136,6 @@ int alias_save(lst** aliases, lst** env)
dprintf(2, "Une erreur est survenue lors de l'écriture des aliases\n"); dprintf(2, "Une erreur est survenue lors de l'écriture des aliases\n");
return 1; return 1;
} }
while(current != NULL) print_aliases(aliases, fd);
{
content = current->content;
dprintf(fd, "%s=%s\n", content->key, content->value);
current = current->next;
}
return 0; return 0;
} }

View File

@ -11,6 +11,7 @@ typedef struct s_alias
lst** aliases_init(); lst** aliases_init();
lst** aliases_save(lst** aliases); lst** aliases_save(lst** aliases);
void alias_del(void *ptr); void alias_del(void *ptr);
void print_aliases(lst** aliases, int fd_out);
char* get_alias(lst** aliases, const char* key); char* get_alias(lst** aliases, const char* key);
int add_alias(lst** root, const char* key, const char* value); int add_alias(lst** root, const char* key, const char* value);
int alias_save(lst** aliases, lst** env); int alias_save(lst** aliases, lst** env);

View File

@ -3,18 +3,6 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
static void print_aliases(lst** aliases, int fd_out)
{
lst* current = *aliases;
alias_t* content;
while (current != NULL)
{
content = current->content;
dprintf(fd_out, "%s='%s'\n", content->key, content->value);
current = current->next;
}
}
int builtin_alias(data_t* data, cmd_t* cmd) int builtin_alias(data_t* data, cmd_t* cmd)
{ {
const char* equal; const char* equal;