mirror of
https://github.com/KeyZox71/ft_minipowershell.git
synced 2025-05-11 23:18:46 +02:00
「✨」 feat: Prompt finished
This commit is contained in:
52
src/main.c
52
src/main.c
@ -6,7 +6,7 @@
|
||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/04/24 11:18:04 by adjoly #+# #+# */
|
||||
/* Updated: 2024/04/30 12:40:35 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/05/02 15:47:34 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -30,61 +30,19 @@ bool is_str(char *src, char *dst)
|
||||
return (true);
|
||||
}
|
||||
|
||||
/*char *get_hostname(void)
|
||||
{
|
||||
char *hostname;
|
||||
char *tmp;
|
||||
int host_file;
|
||||
|
||||
//host_file = open();
|
||||
tmp = hostname;
|
||||
while (*tmp)
|
||||
tmp++;
|
||||
return
|
||||
}*/
|
||||
|
||||
char *get_prompt(void)
|
||||
{
|
||||
char **prompt;
|
||||
char *ret = NULL;
|
||||
char *home;
|
||||
char **tmp;
|
||||
|
||||
prompt = malloc(1000);
|
||||
prompt[0] = getenv("USER");
|
||||
prompt[1] = "@";
|
||||
//prompt[2] = get_hostname();
|
||||
home = getenv("HOME");
|
||||
prompt[3] = getenv("PWD");
|
||||
prompt[4] = ">";
|
||||
//ret = ft_calloc(1000, sizeof(char));
|
||||
|
||||
if (!ft_strncmp(prompt[3], home, ft_strlen(home)))
|
||||
prompt[3] += ft_strlen(home);
|
||||
tmp = prompt;
|
||||
while (*tmp)
|
||||
{
|
||||
ft_strlcat(ret, *tmp, ft_strlen(ret) + ft_strlen(*tmp) + 1);
|
||||
tmp++;
|
||||
}
|
||||
free(prompt);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
int main(int ac, char **av, char **env)
|
||||
{
|
||||
char *test;
|
||||
char **lll;
|
||||
char *ret = NULL;
|
||||
char *prompt;
|
||||
|
||||
(void)ac;
|
||||
(void)av;
|
||||
(void)env;
|
||||
while (1)
|
||||
{
|
||||
ret = get_prompt();
|
||||
test = readline(ret);
|
||||
free(ret);
|
||||
prompt = get_prompt();
|
||||
test = readline(prompt);
|
||||
add_history(test);
|
||||
lll = ft_split(test, ' ');
|
||||
if (!*lll)
|
||||
@ -92,6 +50,6 @@ int main(int ac, char **av, char **env)
|
||||
if (is_str(test, "exit"))
|
||||
break;
|
||||
}
|
||||
//ft_freearr((void **)lll);
|
||||
//ft_free("a", &lll);
|
||||
return (0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user