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); }
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); }
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); }
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); }
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); }
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++; } }
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); }