summaryrefslogtreecommitdiffstats
path: root/src/b_alias.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/b_alias.c')
-rw-r--r--src/b_alias.c100
1 files changed, 1 insertions, 99 deletions
diff --git a/src/b_alias.c b/src/b_alias.c
index c00a616..badd281 100644
--- a/src/b_alias.c
+++ b/src/b_alias.c
@@ -16,110 +16,12 @@
#include <unistd.h>
#include <limits.h>
+#include "b_alias_print.h"
#include "d_define.h"
#include "s_struct.h"
#include "u_alias.h"
#include "u_utils.h"
-static char
- **b_alloc_buff(t_lalias *ptr, size_t i)
-{
- char **buff;
-
- if ((buff = (char**)malloc((i + 1) * sizeof(char*))) == NULL)
- return (NULL);
- i = 0;
- while (ptr != NULL)
- {
- buff[i + 1] = NULL;
- if ((buff[i] = (char*)malloc((6 + ft_strlen(ptr->name) + 2
- + ft_strlen(ptr->val) + 3) * sizeof(char))) == NULL)
- {
- ft_delwords(buff);
- return (NULL);
- }
- ptr = ptr->next;
- i++;
- }
- return (buff);
-}
-
-static void
- b_fill_buff(t_lalias *ptr, char *buff[])
-{
- size_t i;
-
- i = 0;
- while (ptr != NULL)
- {
- ft_sprintf(buff[i], "alias %s='%s'\n", ptr->name, ptr->val);
- ptr = ptr->next;
- i++;
- }
-}
-
-static void
- b_sort_buff(char *buff[])
-{
- size_t i;
- int cmp;
- char tmp[ARG_MAX];
-
- i = 1;
- while (buff[i] != NULL)
- {
- if ((cmp = ft_strncmp(buff[i - 1], buff[i], ARG_MAX)) > 0)
- {
- ft_strlcpy(tmp, buff[i - 1], ARG_MAX);
- ft_memdel((void*)&buff[i - 1]);
- if ((buff[i - 1] = ft_strdup(buff[i])) == NULL)
- return ;
- ft_memdel((void*)&buff[i]);
- if ((buff[i] = ft_strdup(tmp)) == NULL)
- return ;
- i = 0;
- }
- i++;
- }
-}
-
-static void
- b_print_buff(char *buff[])
-{
- char **ptr;
-
- ptr = buff;
- while (*ptr != NULL)
- {
- ft_printf("%s", *ptr);
- ptr++;
- }
-}
-
-static void
- b_print_alias_list(t_msh *msh)
-{
- t_lalias *ptr;
- char **buff;
- size_t i;
-
- ptr = msh->alias;
- i = 0;
- while (ptr != NULL)
- {
- ptr = ptr->next;
- i++;
- }
- ptr = msh->alias;
- if ((buff = b_alloc_buff(ptr, i)) == NULL)
- return ;
- ptr = msh->alias;
- b_fill_buff(ptr, buff);
- b_sort_buff(buff);
- b_print_buff(buff);
- ft_delwords(buff);
-}
-
static uint8_t
b_print_arg(const char arg[], t_msh *msh)
{