X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=main.c;h=b483db9880d1dd4b4de6a19f2515e5aee3c6f4af;hb=56987b41eb205c26e0785d6727aa0c5b188983a2;hp=8e94800ec44bbd6460571481ee9243df0ff5f04c;hpb=0b8da9eeb4954dd334d5bac4526f42f837c60798;p=xonotic%2Fgmqcc.git diff --git a/main.c b/main.c index 8e94800..b483db9 100644 --- a/main.c +++ b/main.c @@ -46,7 +46,7 @@ const oper_info *operators = NULL; size_t operator_count = 0; typedef struct { char *filename; int type; } argitem; -VECTOR_MAKE(argitem, items); +static argitem *items = NULL; #define TYPE_QC 0 #define TYPE_ASM 1 @@ -184,7 +184,7 @@ static bool options_parse(int argc, char **argv) { char buffer[1024]; char *redirout = (char*)stdout; char *redirerr = (char*)stderr; - + while (!argend && argc > 1) { char *argarg; argitem item; @@ -225,6 +225,8 @@ static bool options_parse(int argc, char **argv) { continue; } + con_change(redirout, redirerr); + if (!strcmp(argv[0]+1, "debug")) { opts_debug = true; continue; @@ -341,7 +343,7 @@ static bool options_parse(int argc, char **argv) { return false; } item.filename = argarg; - items_add(item); + vec_push(items, item); break; case '-': @@ -378,10 +380,9 @@ static bool options_parse(int argc, char **argv) { argitem item; item.filename = argv[0]; item.type = TYPE_QC; - items_add(item); + vec_push(items, item); } } - con_change(redirout, redirerr); return true; } @@ -471,18 +472,18 @@ int main(int argc, char **argv) { util_debug("COM", "starting ...\n"); - if (items_elements) { + if (vec_size(items)) { con_out("Mode: manual\n"); - con_out("There are %lu items to compile:\n", (unsigned long)items_elements); - for (itr = 0; itr < items_elements; ++itr) { + con_out("There are %lu items to compile:\n", (unsigned long)vec_size(items)); + for (itr = 0; itr < vec_size(items); ++itr) { con_out(" item: %s (%s)\n", - items_data[itr].filename, - ( (items_data[itr].type == TYPE_QC ? "qc" : - (items_data[itr].type == TYPE_ASM ? "asm" : - (items_data[itr].type == TYPE_SRC ? "progs.src" : + items[itr].filename, + ( (items[itr].type == TYPE_QC ? "qc" : + (items[itr].type == TYPE_ASM ? "asm" : + (items[itr].type == TYPE_SRC ? "progs.src" : ("unknown")))))); - if (!parser_compile_file(items_data[itr].filename)) + if (!parser_compile_file(items[itr].filename)) { retval = 1; goto cleanup; @@ -541,7 +542,7 @@ srcdone: cleanup: util_debug("COM", "cleaning ...\n"); con_close(); - mem_d(items_data); + vec_free(items); parser_cleanup(); if (opts_output_free)