Fix variable assignment broken by 7d83204
authorLukáš Jiřiště <jiriste@icpf.cas.cz>
Tue, 27 Aug 2024 13:31:10 +0000 (15:31 +0200)
committerLukáš Jiřiště <jiriste@icpf.cas.cz>
Tue, 27 Aug 2024 13:31:10 +0000 (15:31 +0200)
Also free assignments with free_str isntead of free.

src/execution.c

index a60991ea3f0d23858e66781e22d1829bd75d1e89..ab8e4da3d9c3d661bb3b0ac45a0d24d7e0c53bd5 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: lnikolov <lnikolov@student.42prague.com    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/07/21 08:57:54 by ljiriste          #+#    #+#             */
-/*   Updated: 2024/08/27 15:04:43 by ljiriste         ###   ########.fr       */
+/*   Updated: 2024/08/27 15:29:43 by ljiriste         ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -561,7 +561,7 @@ int assignments_to_env(const t_vec *assignments, t_execution_env *env)
        i = 0;
        while (i < assignments->size)
        {
-               var_line = ft_vec_caccess(assignments, i);
+               var_line = *(char **)ft_vec_caccess(assignments, i);
                var_name = get_var_name(var_line);
                if (!var_name)
                        return (1);
@@ -875,13 +875,13 @@ int       ex_simple_command(t_parse_tree_node *simple_command, t_execution_env *env)
        {
                assignments_to_env(&assignments, env);
                ft_vec_free(&redirections, close_redirection);
-               ft_vec_free(&assignments, NULL);
+               ft_vec_free(&assignments, free_str);
                free_split(fields);
                return (0);
        }
        res = ex_fields(fields, &assignments, &redirections, env);
        ft_vec_free(&redirections, close_redirection);
-       ft_vec_free(&assignments, free);
+       ft_vec_free(&assignments, free_str);
        free_split(fields);
        return (res);
 }