Normedout cmd_cd.c
This commit is contained in:
parent
40718a99ac
commit
79e2ca6f1b
16
norm.txt
Normal file
16
norm.txt
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
Norme: ./srcs/main.c
|
||||||
|
Error (line 38): function main has 49 lines
|
||||||
|
Error (line 38, col 0): main has 6 variables
|
||||||
|
--
|
||||||
|
Norme: ./srcs/cmd_cd.c
|
||||||
|
Error: 7 functions in the file
|
||||||
|
Error (line 120): function cmd_cd has 33 lines
|
||||||
|
--
|
||||||
|
Norme: ./srcs/ms_exec.c
|
||||||
|
Error: 6 functions in the file
|
||||||
|
Error (line 59): function check_path_dot has 26 lines
|
||||||
|
Error (line 89): function check_path has 51 lines
|
||||||
|
Error (line 144): function exec_cmd has 30 lines
|
||||||
|
--
|
||||||
|
Norme: ./srcs/ms_ext.c
|
||||||
|
Error: 6 functions in the file
|
@ -6,7 +6,7 @@
|
|||||||
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
|
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2019/01/07 16:44:40 by tmaze #+# #+# */
|
/* Created: 2019/01/07 16:44:40 by tmaze #+# #+# */
|
||||||
/* Updated: 2020/01/23 23:37:53 by tmaze ### ########.fr */
|
/* Updated: 2020/01/24 18:54:51 by tmaze ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -21,6 +21,15 @@ void *put_error_cd(char *file, char *msg)
|
|||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int put_error_cd2(char *file, char *msg)
|
||||||
|
{
|
||||||
|
ft_putstr("cd: ");
|
||||||
|
ft_putstr(file);
|
||||||
|
ft_putstr(": ");
|
||||||
|
ft_putendl(msg);
|
||||||
|
return (1);
|
||||||
|
}
|
||||||
|
|
||||||
char *check_path_slash_cd(char *exec)
|
char *check_path_slash_cd(char *exec)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -52,23 +61,16 @@ int cmd_cd_update_env(char *path, t_env **env, char opt)
|
|||||||
|
|
||||||
ft_bzero(p_path, 4096);
|
ft_bzero(p_path, 4096);
|
||||||
if (!(pwd = ft_envgetelem("PWD", *env)))
|
if (!(pwd = ft_envgetelem("PWD", *env)))
|
||||||
{
|
return (put_error_cd2(path, "env var PWD undefined"));
|
||||||
put_error_cd(path, "env var PWD undefined");
|
|
||||||
return (1);
|
|
||||||
}
|
|
||||||
if (getcwd(p_path, 4096) == NULL || (oldpwd = ft_strdup(pwd->val)) == NULL
|
if (getcwd(p_path, 4096) == NULL || (oldpwd = ft_strdup(pwd->val)) == NULL
|
||||||
|| ft_realpath(path, &c_path) == NULL)
|
|| ft_realpath(path, &c_path) == NULL)
|
||||||
{
|
return (put_error_cd2(path, "error"));
|
||||||
put_error_cd(path, "error");
|
|
||||||
return (1);
|
|
||||||
}
|
|
||||||
if (ft_envupdate("PWD", *env, ((opt == 'P') ? p_path : c_path)) == NULL
|
if (ft_envupdate("PWD", *env, ((opt == 'P') ? p_path : c_path)) == NULL
|
||||||
|| ft_envupdate("OLDPWD", *env, oldpwd) == NULL)
|
|| ft_envupdate("OLDPWD", *env, oldpwd) == NULL)
|
||||||
{
|
{
|
||||||
put_error_cd(path, "error");
|
|
||||||
ft_strdel(&oldpwd);
|
ft_strdel(&oldpwd);
|
||||||
ft_strdel(&c_path);
|
ft_strdel(&c_path);
|
||||||
return (1);
|
return (put_error_cd2(path, "error"));
|
||||||
}
|
}
|
||||||
ft_strdel(&oldpwd);
|
ft_strdel(&oldpwd);
|
||||||
ft_strdel(&c_path);
|
ft_strdel(&c_path);
|
||||||
@ -126,15 +128,19 @@ int cmd_cd(char **argv, t_env **env)
|
|||||||
i = 0;
|
i = 0;
|
||||||
if ((opt = cd_getparams(argv, &i)) == '\0')
|
if ((opt = cd_getparams(argv, &i)) == '\0')
|
||||||
return (1);
|
return (1);
|
||||||
if (!argv[i] && (elem = ft_envgetelem("HOME", *env)) != NULL && elem->val != NULL)
|
if (!argv[i] && (elem = ft_envgetelem("HOME", *env)) != NULL
|
||||||
|
&& elem->val != NULL)
|
||||||
return (cmd_cd_core(elem->val, env, opt));
|
return (cmd_cd_core(elem->val, env, opt));
|
||||||
else if (argv[i] && argv[i][0] == '/')
|
else if (argv[i] && argv[i][0] == '/')
|
||||||
return (cmd_cd_core(argv[i], env, opt));
|
return (cmd_cd_core(argv[i], env, opt));
|
||||||
else if (argv[i] && argv[i][0] == '-' && (elem = ft_envgetelem("OLDPWD", *env)) != NULL)
|
else if (argv[i] && argv[i][0] == '-'
|
||||||
|
&& (elem = ft_envgetelem("OLDPWD", *env)) != NULL)
|
||||||
return (cmd_cd_core(elem->val, env, opt));
|
return (cmd_cd_core(elem->val, env, opt));
|
||||||
else if (argv[i] && argv[i][0] != '/' && (elem = ft_envgetelem("PWD", *env)) != NULL && elem->val != NULL)
|
else if (argv[i] && argv[i][0] != '/'
|
||||||
|
&& (elem = ft_envgetelem("PWD", *env)) != NULL && elem->val != NULL)
|
||||||
{
|
{
|
||||||
if ((path = ft_strnew(ft_strlen(elem->val) + ft_strlen(argv[i]) + 1)) == NULL)
|
if ((path = ft_strnew(ft_strlen(elem->val)
|
||||||
|
+ ft_strlen(argv[i]) + 1)) == NULL)
|
||||||
put_error_cd(argv[i], "memory error");
|
put_error_cd(argv[i], "memory error");
|
||||||
if (path == NULL)
|
if (path == NULL)
|
||||||
return (1);
|
return (1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user