/*programe main entry*/ int main(const int argc, const char *argv[]) { char option[BUFSIZE]; int to_print[BUFSIZE]; int negate = 0; int fpos; int type; int i; FILE *fp; type = get_valid_com(argc, argv, option, &negate, &fpos); if (type == 0) return 1; if (!set_range(option, to_print, negate)) return 2; for (i = fpos; i < argc; i++) { if ((fp = fopen(argv[i], "r+b")) == 0) { perror("fopen"); return 3; } if (type == 1) display_c(fp, to_print); else display_f(fp, to_print); if (fclose(fp) != 0) { perror("fclose"); return 4; } } return 0; }
int print_c(t_mod *m, va_list ap) { size_t cnt; int arg; arg = get_arg_c(m, ap); cnt = display_c(m, arg); return (cnt); }
void display_ast_iter(size_t indent, struct ast_t *a, const char *type_strings[]) { size_t i; for (i = 1; i < indent; i++) { printf(" "); } switch (a->type) { case AST_CHAR: { display_c(indent, a); break; } case AST_TREE: { display_tree(indent, a, type_strings); break; } default: break; } }