@@ -0,0 +1,76 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* param.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qdiaz <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/03/21 14:20:56 by qdiaz #+# #+# */
/* Updated: 2016/03/21 17:56:36 by qdiaz ### ########.fr */
/* */
/* ************************************************************************** */

#include "minishell.h"

t_env *env_in_list(char *envar, t_env *start)
{
int i;
t_env *tmp;
t_env *voyager;

i = 0;
tmp = (t_env *)malloc(sizeof(t_env));
voyager = start;
tmp->name = get_var_name(envar);
tmp->data = get_var_content(envar);
//tmp->next = NULL;
if (start == NULL)
return (tmp);
while (voyager->next)
voyager = voyager->next;
voyager->next = tmp;
return (start);
}

int manage_entry(char **cmd, t_env *env)
{
if (cmd == NULL)
return (1);
if (ft_strcmp(cmd[0], "exit") == 0)
return (-1);
else if (ft_strcmp(cmd[0], "setenv") == 0)
{
env = ft_set_env(cmd, env);
return (0);
}
else if (ft_strcmp(cmd[0], "unsetenv") == 0)
ft_unset_env(&env, cmd[1]);
else if (ft_strcmp(cmd[0], "env") == 0)
{
print_env(env);
return (0);
}
else if (ft_strcmp(cmd[0], "cd") == 0)
{
//ft_cd(cmd[1], env);
return (0);
}
return (0);
}

int read_entry(char **cmd, t_env *env)
{
int i;
char **tab;

i = 0;
while (cmd[i])
{
tab = ft_strsplit(cmd[i], ' ');
if (manage_entry(tab, env) == -1)
return (-1);
i++;
//free_tab(tab);
}
return (0);
}
@@ -0,0 +1,36 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* tools.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qdiaz <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/03/17 17:00:52 by qdiaz #+# #+# */
/* Updated: 2016/03/21 17:56:41 by qdiaz ### ########.fr */
/* */
/* ************************************************************************** */

#include "minishell.h"

void prompt(void)
{
ft_putstr("$>");
}

void print_env(t_env *env)
{
if (env)
{
//ft_putstr("salut\n");
while (env->next != NULL)
{
//ft_putstr(env->name);
ft_putchar('=');
//ft_putstr(env->data);
ft_putchar('\n');
//env = env->next;
}
}
else
ft_putendl("Empty env");
}