some more export and malloc safe returns null if size zero

This commit is contained in:
whaffman 2025-03-04 18:17:25 +01:00
parent 35083ca6c8
commit dbe5a0d433
2 changed files with 26 additions and 27 deletions

View File

@ -6,7 +6,7 @@
/* By: whaffman <whaffman@student.codam.nl> +#+ */ /* By: whaffman <whaffman@student.codam.nl> +#+ */
/* +#+ */ /* +#+ */
/* Created: 2025/02/20 11:32:53 by whaffman #+# #+# */ /* Created: 2025/02/20 11:32:53 by whaffman #+# #+# */
/* Updated: 2025/03/04 16:31:48 by whaffman ######## odam.nl */ /* Updated: 2025/03/04 16:41:06 by whaffman ######## odam.nl */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -38,13 +38,11 @@ int builtin_export(t_minishell *msh, t_command *cmd)
while (cmd->args[++i] != NULL) while (cmd->args[++i] != NULL)
{ {
arr = ft_split_safe(msh, cmd->args[i], '='); arr = ft_split_safe(msh, cmd->args[i], '=');
if (arr == NULL || arr[0] == NULL) if (arr != NULL && arr[0] != NULL && ft_isvalid_identifier(arr[0]) == TRUE)
return (ft_free_arr_safe(msh, arr), EXIT_FAILURE);
else if (ft_isvalid_identifier(arr[0]) == TRUE)
environment_update(msh, arr[0], arr[1]); environment_update(msh, arr[0], arr[1]);
else else
{ {
err = ft_strjoin_safe(msh, arr[0], ": not a valid identifier"); err = ft_strjoin_safe(msh, cmd->args[1], ": not a valid identifier");
error_msg("export", err); error_msg("export", err);
return (ft_free_arr_safe(msh, arr), EXIT_FAILURE); return (ft_free_arr_safe(msh, arr), EXIT_FAILURE);
} }

View File

@ -1,22 +1,23 @@
/* ************************************************************************** */ /* ************************************************************************** */
/* */ /* */
/* :::::::: */ /* :::::::: */
/* malloc_safe.c :+: :+: */ /* malloc_safe.c :+: :+: */
/* +:+ */ /* +:+ */
/* By: whaffman <whaffman@student.codam.nl> +#+ */ /* By: whaffman <whaffman@student.codam.nl> +#+ */
/* +#+ */ /* +#+ */
/* Created: 2025/02/20 18:06:46 by whaffman #+# #+# */ /* Created: 2025/02/20 18:06:46 by whaffman #+# #+# */
/* Updated: 2025/02/20 18:07:00 by whaffman ######## odam.nl */ /* Updated: 2025/03/04 16:38:10 by whaffman ######## odam.nl */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "minishell.h" #include "minishell.h"
void *malloc_safe(t_minishell *msh, size_t size) void *malloc_safe(t_minishell *msh, size_t size)
{ {
void *ptr; void *ptr;
if (size == 0)
ptr = malloc(size); return (NULL);
check_malloc(msh, ptr); ptr = malloc(size);
return (ptr); check_malloc(msh, ptr);
} return (ptr);
}