Esempio n. 1
0
int		mode_passif(t_link *link, char **av, char **env)
{
  char		**cmd;
  char		**cmd_two;

  if (av[1] == NULL)
    return (FALSE);
  if (av[2] == NULL)
    {
      my_printf("Mode_passif : ./42sh -c string\n");
      return (FALSE);
    }
  else if (my_strcmp(av[1], "-c") == 0)
    {
      cmd = edit_command(link, my_epur_str(av[2]));
      cmd_two = my_explode(my_epur_str(av[2]), ' ');
      if (cmd == NULL)
	my_printf("%s : command not found\n", av[2]);
      else if (access(cmd_two[0], X_OK) == 0 && is_exec(cmd_two[0]))
	my_printf("%s : command not found\n", av[2]);
      else
	execve(cmd[0], cmd, env);
      my_printf("%s : command not found\n", av[2]);
      return (TRUE);
    }
  my_printf("Mode_passif : ./42sh -c string\n");
  return (FALSE);
}
Esempio n. 2
0
static int	my_check_line(header_t *header, char **str)
{
  char		*tmp;
  int		i;

  if ((tmp = my_sup_comment(*str)) == NULL)
    return (1);
  free(*str);
  i = 0;
  while (tmp[i] == ' ' || tmp[i] == '\t')
    i++;
  if (my_strncmp(tmp + i, COMMENT_CMD_STRING,
		 my_strlen(COMMENT_CMD_STRING)) == 0)
    my_cpy_comment(header, tmp + i);
  else if (my_strncmp(tmp + i, NAME_CMD_STRING,
		      my_strlen(NAME_CMD_STRING)) == 0)
    my_cpy_name(header, tmp + i);
  if ((*str = my_epur_str(tmp)) == NULL)
    return (1);
  free(tmp);
  if (**str == '\0')
    return (1);
  else if (**str == '.')
    return (1);
  return (0);
}
Esempio n. 3
0
int		get_input(t_command *command,
			   t_uchar ret,
			   char **env)
{
  char		*input_raw;
  char		*input_clean;

  input_raw = get_input_raw(command, ret, env);
  if (input_raw == NULL && signal_handler(GETSIG, 0) != SIGINT)
    {
      input_clean = my_strdup("exit");
      if ((command->argv = parse_command(input_clean)) == NULL)
	return (EXIT_FAILURE);
      free(input_clean);
      return (EXIT_SUCCESS);
    }
  input_clean = my_epur_str(input_raw);
  free(input_raw);
  if (input_clean == NULL || input_clean[0] == '\0')
    {
      free(input_clean);
      return (EXIT_FAILURE);
    }
  if ((command->argv = parse_command(input_clean)) == NULL)
    return (EXIT_FAILURE);
  free(input_clean);
  command->argv_tmp = NULL;
  return (EXIT_SUCCESS);
}
Esempio n. 4
0
t_line		*convert_str_to_list(char *str)
{
  t_line	*tmp;
  int		i;

  i = 0;
  tmp = NULL;
  str = my_epur_str(str);
  while (str[i] != '\0')
    tmp = put_in_list(tmp, str[i++]);
  return (tmp);
}
Esempio n. 5
0
void		parse_args(char *buf, t_data *data)
{
  int		n;
  int		k;

  if ((buf = my_epur_str(buf)) == NULL)
    exit(1);
  data->n_max = count_spaces(buf) + 1;
  init_all_cmd(data, buf, data->n_max);
  n = 0;
  k = 0;
  word_tab(data, buf, n, k);
  free(buf);
}
Esempio n. 6
0
int	my_get_message(char *str, int flags)
{
  int	i;

  if (flags)
    my_epur_str(str);
  i = 0;
  while (str[i])
    {
      if (str[i] != ' ')
	str[i] = str[i] - 96;
      i++;
    }
}
Esempio n. 7
0
File: main.c Progetto: Overchou/42Sh
int	main(int ac, char **av)
{
  char *str;
  t_list *list;
  t_node *p_list;

  if (ac == 1)
    return (0);
  str = my_epur_str(av[1]);
  list = tlist_new();
  list = my_str_to_list(str, list);
  if (my_verif_syntax(list) == -1)
    return (0);
  p_list = list->p_start;
  p_list = my_prio(p_list);
  return (0);
}