rtv1/src/env_list.c

56 lines
1.8 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* env_list.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gbrochar <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/02/06 17:08:36 by gbrochar #+# #+# */
/* Updated: 2019/02/11 11:39:52 by gbrochar ### ########.fr */
/* */
/* ************************************************************************** */
#include "rtv1.h"
int add_obj_node(t_env *e, void *obj, int type, t_color c)
{
t_obj_list *obj_node;
t_obj_list *list_browser;
if (!(obj_node = (t_obj_list *)ft_memalloc(sizeof(t_obj_list))))
return (FAILURE);
obj_node->obj = obj;
obj_node->type = type;
obj_node->c = c;
if (!e->objs)
e->objs = obj_node;
else
{
list_browser = e->objs;
while (list_browser->next)
list_browser = list_browser->next;
list_browser->next = obj_node;
}
return (SUCCESS);
}
int add_spot_node(t_env *e, t_spot spot)
{
t_spot_list *spot_node;
t_spot_list *list_browser;
if (!(spot_node = (t_spot_list *)ft_memalloc(sizeof(t_spot_list))))
return (FAILURE);
spot_node->spot = spot;
if (!e->spots)
e->spots = spot_node;
else
{
list_browser = e->spots;
while (list_browser->next)
list_browser = list_browser->next;
list_browser->next = spot_node;
}
return (SUCCESS);
}