Esempio n. 1
0
int		my_unsetenvbis(char *buffer, t_struct *pile)
{
  int		p;
  t_list	*save;
  t_list	*new_elem;

  p = 0;
  save = pile->my_env;
  if (buffer[0] == '*')
    {
      my_free_list(pile->my_env);
      pile->my_env = 0;
      return (0);
    }
  if (my_strcmp2(buffer, pile->my_env->data) == 0)
    {
      new_elem = pile->my_env->next;
      free(pile->my_env->data);
      free(pile->my_env);
      pile->my_env = new_elem;
      if (new_elem != NULL)
	pile->my_env->prev = 0;
    }
  else
    my_del_elem(buffer, pile->my_env);
  return (0);
}
Esempio n. 2
0
struct sect	*get_section(Meinkompf db, char *sect)
{
  struct sect	*result;

  if (!if_section_exist(sect, db))
    return (NULL);
  result = db;
  if (!result)
    return (NULL);
  while (my_strcmp2(sect, result->title) && result)
    result = result->next;
  return (result);
}
Esempio n. 3
0
int	my_del_elem(char *buffer, t_list *begin)
{
  t_list	*new_elem;

  while (begin->next)
    {
      if (my_strcmp2(buffer, begin->next->data) == 0)
	{
	  new_elem = begin->next;
	  begin->next = new_elem->next;
	  if (new_elem->next != 0)
	    new_elem->next->prev = begin;
	  new_elem->prev = NULL;
	  new_elem->next = NULL;
	  free(new_elem->data);
	  free(new_elem);
	  return (0);
	}
      begin = begin->next;
    }
  my_putstr(UNSET_IM, 2);
  return (0);
}
Esempio n. 4
0
int		add_section_list(char *val, Meinkompf *result)
{
  Meinkompf	tmp;
  Meinkompf	elem;

  tmp = *result;
  if (!tmp)
    {
      tmp = xmalloc(sizeof(*tmp));
      tmp->title = val;
      tmp->lelem = NULL;
      tmp->next = NULL;
      *result = tmp;
      return (0);
    }
  while (tmp->next && my_strcmp2(tmp->next->title, val) <= 0)
    tmp = tmp->next;
  elem = xmalloc(sizeof(*elem));
  elem->next = tmp->next;
  elem->lelem = NULL;
  elem->title = val;
  tmp->next = elem;
  return (0);
}