int deal_with_opt(t_shell *sh, char **arg, char **env_cpy) { if (check_u_opt(sh, arg, env_cpy) == 1 && check_i_opt(sh, arg, env_cpy) == 1) { if (!arg[1] && !arg[0][2] && (arg[0][1] == 'u' || arg[0][1] == 'i')) return (print_error_arg()); else return (print_main_error(&*arg[0])); } return (0); }
/** Lida com os argumentos de comando (-v, -f, -h, dentre outros). * * Argumentos de comando comecam com '-'. Eles mostram informacoes * e alteram o estado do programa */ void handle_command_args(int argc, char* argv[]) { int c; extern int optind; extern int optopt; extern int opterr; opterr = 0; c = getopt(argc, argv, "hfuvV"); switch (c) { case 'h': print_help(); exit(EXIT_SUCCESS); break; case 'f': options.overwrite_file = YES; break; case 'u': print_usage(); exit(EXIT_SUCCESS); break; case 'v': options.verbose = YES; break; case 'V': options.extra_verbose = YES; options.verbose = YES; break; case '?': print_error_arg(optopt); exit(EXIT_SUCCESS); break; default: arg_abort_exec("Error! Unexpected argument!"); break; } }