コード例 #1
0
/*
**Retrieve a list of t_format corresponding to
**the format chain passed in parameter
*/
t_list		*get_formats(char *s)
{
  char		**args;
  int		i;
  t_list	*list;
  char		*old;
  char		*tmp;

  init(&list, &i, &old, s);
  args = pf_str_sep(s, "%");
  while (args && args[i])
    {
      tmp = old;
      while (args[i] - tmp > 1)
	{
	  list = add_rest("%", list);
	  tmp += 2;
	}
      tmp = args[i] + pf_strlen(args[i]);
      if ((args[i++] - old) % 2)
	list = treat_arg(list, args[i - 1]);
      list = (args[i - 1][0]) ? (add_rest(args[i - 1], list)) : (list);
      old = tmp;
    }
  free(args);
  return (list);
}
コード例 #2
0
ファイル: treat_cmd.c プロジェクト: Yanumaru/asm_corewar
void	treat_cmd(char *cmd, t_group *all, int line)
{
	int		i;
	int		tw;

	i = -1;
	while (++i < 16)
	{
		if (!ft_strcmp(g_hextab[i].cmd, ft_strsub(cmd, 0, count(cmd))))
		{
			tw = g_hextab[i].hex & 0xFF;
			write(all->fd, &tw, 1);
			treat_arg(cmd, all, line);
			return ;
		}
	}
}