mirror of
https://github.com/KeyZox71/ft_minipowershell.git
synced 2025-03-15 11:26:51 +01:00
「🔨」 fix(Prompt): Added protection to alloc -> to-do = change return (NULL) to exit function and free all
This commit is contained in:
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/05/02 10:36:31 by adjoly #+# #+# */
|
/* Created: 2024/05/02 10:36:31 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/05/15 16:29:19 by adjoly ### ########.fr */
|
/* Updated: 2024/05/17 13:53:43 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -21,7 +21,11 @@ char *get_hostname(void)
|
|||||||
char *delimiter;
|
char *delimiter;
|
||||||
|
|
||||||
buf = ft_calloc(254, sizeof(char));
|
buf = ft_calloc(254, sizeof(char));
|
||||||
|
if (!buf)
|
||||||
|
return (ft_strdup("nixos"));
|
||||||
host_file = open("/etc/hostname", O_RDONLY);
|
host_file = open("/etc/hostname", O_RDONLY);
|
||||||
|
if (host_file <= -1)
|
||||||
|
return (ft_strdup("nixos"));
|
||||||
read(host_file, buf, 254);
|
read(host_file, buf, 254);
|
||||||
delimiter = ft_strchr(buf, '.');
|
delimiter = ft_strchr(buf, '.');
|
||||||
if (!delimiter)
|
if (!delimiter)
|
||||||
@ -34,6 +38,8 @@ char *get_hostname(void)
|
|||||||
return (hostname);
|
return (hostname);
|
||||||
}
|
}
|
||||||
hostname = ft_calloc(delimiter - buf + 1, sizeof(char));
|
hostname = ft_calloc(delimiter - buf + 1, sizeof(char));
|
||||||
|
if (!hostname)
|
||||||
|
return (ft_strdup("nixos"));
|
||||||
ft_strlcpy(hostname, buf, delimiter - buf + 1);
|
ft_strlcpy(hostname, buf, delimiter - buf + 1);
|
||||||
free(buf);
|
free(buf);
|
||||||
return (hostname);
|
return (hostname);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/04/30 13:25:42 by adjoly #+# #+# */
|
/* Created: 2024/04/30 13:25:42 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/05/15 16:21:25 by adjoly ### ########.fr */
|
/* Updated: 2024/05/17 14:25:57 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -18,10 +18,22 @@ char *get_prompt(void)
|
|||||||
char *prompt;
|
char *prompt;
|
||||||
|
|
||||||
prompt = getenv("USER");
|
prompt = getenv("USER");
|
||||||
|
if (!prompt)
|
||||||
|
prompt = ft_strdup("nixos");
|
||||||
prompt = ft_strjoin(prompt, "@");
|
prompt = ft_strjoin(prompt, "@");
|
||||||
|
if (!prompt)
|
||||||
|
return (NULL);
|
||||||
prompt = ft_strjoin_free(prompt, get_hostname());
|
prompt = ft_strjoin_free(prompt, get_hostname());
|
||||||
|
if (!prompt)
|
||||||
|
return (NULL);
|
||||||
prompt = ft_strjoin_free_s1(prompt, ":");
|
prompt = ft_strjoin_free_s1(prompt, ":");
|
||||||
|
if (!prompt)
|
||||||
|
return (NULL);
|
||||||
prompt = ft_strjoin_free(prompt, get_pwd());
|
prompt = ft_strjoin_free(prompt, get_pwd());
|
||||||
|
if (!prompt)
|
||||||
|
return (NULL);
|
||||||
prompt = ft_strjoin_free_s1(prompt, "$ ");
|
prompt = ft_strjoin_free_s1(prompt, "$ ");
|
||||||
|
if (!prompt)
|
||||||
|
return (NULL);
|
||||||
return (prompt);
|
return (prompt);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/05/02 14:42:00 by adjoly #+# #+# */
|
/* Created: 2024/05/02 14:42:00 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/05/02 15:49:42 by adjoly ### ########.fr */
|
/* Updated: 2024/05/17 14:25:28 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -19,9 +19,17 @@ char *get_pwd(void)
|
|||||||
char *home;
|
char *home;
|
||||||
|
|
||||||
pwd = getenv("PWD");
|
pwd = getenv("PWD");
|
||||||
|
if (!pwd)
|
||||||
|
return (NULL);
|
||||||
home = getenv("HOME");
|
home = getenv("HOME");
|
||||||
|
if (!pwd)
|
||||||
|
return (NULL);
|
||||||
if (!ft_strncmp(pwd, home, ft_strlen(home)))
|
if (!ft_strncmp(pwd, home, ft_strlen(home)))
|
||||||
|
{
|
||||||
pwd += ft_strlen(home);
|
pwd += ft_strlen(home);
|
||||||
pwd = ft_strjoin("~", pwd);
|
pwd = ft_strjoin("~", pwd);
|
||||||
return (pwd);
|
if (!pwd)
|
||||||
|
return (NULL);
|
||||||
|
}
|
||||||
|
return (ft_strdup(pwd));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user