diff --git a/srcs/built_in/cd.c b/srcs/built_in/cd.c index a6331ea..f2e9e7a 100644 --- a/srcs/built_in/cd.c +++ b/srcs/built_in/cd.c @@ -154,23 +154,24 @@ void open_directory(t_s_cmd *cmd) if (!cmd->args[1]) { // reboot_pwd(cmd, j); - if (tab_len(str) > 3) - { - while (j-- > 3) - if (chdir("..") == 0) - del_one(cmd); - } - else - { - char *p = ft_substr(cmd->big_cmd->env[find_it(cmd->big_cmd->env, "HOME=")], 6, ft_strlen(cmd->big_cmd->env[find_it(cmd->big_cmd->env, "HOME=")])); + // if (tab_len(str) > 3) + // { + // while (j-- > 3) + // if (chdir("..") == 0) + // del_one(cmd); + // } + // else + // { + char *p = ft_substr(cmd->big_cmd->env[find_it(cmd->big_cmd->env, "HOME=")], 5, ft_strlen(cmd->big_cmd->env[find_it(cmd->big_cmd->env, "HOME=")])); + printf("%s\n", p); if (chdir(p) == 0) { cmd->big_cmd->env[find_it(cmd->big_cmd->env, "OLDPWD=")] = ft_strjoin("OLD", cmd->big_cmd->env[find_pwd(cmd)]); - cmd->big_cmd->env[find_pwd(cmd)] = ft_strjoin("PWD=/", p); + cmd->big_cmd->env[find_pwd(cmd)] = ft_strjoin("PWD=", p); } free(p); // printf("%s\n", p); - } + // } } if (tab_len(cmd->args) == 2) { diff --git a/srcs/built_in/export.c b/srcs/built_in/export.c index a6104a0..74c6b89 100644 --- a/srcs/built_in/export.c +++ b/srcs/built_in/export.c @@ -78,8 +78,10 @@ void ft_export_variable(t_s_cmd *cmd, char *variable) { if (ft_strncmp(unset, cmd->big_cmd->env[i], ft_strlen(unset)) == 0) { - find_variable(unset, cmd); - break ; + free(cmd->big_cmd->env[i]); + cmd->big_cmd->env[i] = dest; + // find_variable(unset, cmd); + return ; } i++; } diff --git a/srcs/built_in/unset.c b/srcs/built_in/unset.c index 0bc662a..f96fdd7 100644 --- a/srcs/built_in/unset.c +++ b/srcs/built_in/unset.c @@ -28,7 +28,7 @@ void unset_variable(t_s_cmd *cmd, int i) { // if (a == i) // a++; - printf("%s\n", cmd->big_cmd->env[a]); + // printf("%s\n", cmd->big_cmd->env[a]); if (a != i) { tmp[b] = ft_substr(cmd->big_cmd->env[a], 0, ft_strlen(cmd->big_cmd->env[a])); diff --git a/vgcore.12673 b/vgcore.12673 new file mode 100644 index 0000000..4ea4a6c Binary files /dev/null and b/vgcore.12673 differ