void op_par_loop_8 ( void (*subroutineName)(char *, char *, char *, char *, char *, char *, char *, char *), op_set set, op_dat dat0, int itemSel0, op_map map0, op_access access0, op_dat dat1, int itemSel1, op_map map1, op_access access1, op_dat dat2, int itemSel2, op_map map2, op_access access2, op_dat dat3, int itemSel3, op_map map3, op_access access3, op_dat dat4, int itemSel4, op_map map4, op_access access4, op_dat dat5, int itemSel5, op_map map5, op_access access5, op_dat dat6, int itemSel6, op_map map6, op_access access6, op_dat dat7, int itemSel7, op_map map7, op_access access7 ) { int i; for ( i = 0; i < set->size; i++ ) { char * ptr0, * ptr1, * ptr2, * ptr3, * ptr4, * ptr5, * ptr6, * ptr7; arg_set ( i, dat0, itemSel0, map0, &ptr0 ); arg_set ( i, dat1, itemSel1, map1, &ptr1 ); arg_set ( i, dat2, itemSel2, map2, &ptr2 ); arg_set ( i, dat3, itemSel3, map3, &ptr3 ); arg_set ( i, dat4, itemSel4, map4, &ptr4 ); arg_set ( i, dat5, itemSel5, map5, &ptr5 ); arg_set ( i, dat6, itemSel6, map6, &ptr6 ); arg_set ( i, dat7, itemSel7, map7, &ptr7 ); (*subroutineName) ( ptr0, ptr1, ptr2, ptr3, ptr4, ptr5, ptr6, ptr7 ); } }
struct message *msg_feedback(const struct unit *u, struct order *ord, const char *name, const char *sig, ...) { va_list marker; const message_type *mtype = mt_find(name); char paramname[64]; const char *ic = sig; variant args[16]; variant var; memset(args, 0, sizeof(args)); if (ord == NULL) ord = u->thisorder; if (!mtype) { log_error("trying to create message of unknown type \"%s\"\n", name); return msg_message("missing_feedback", "unit region command name", u, u->region, ord, name); } var.v = (void *)u; arg_set(args, mtype, "unit", var); var.v = (void *)u->region; arg_set(args, mtype, "region", var); var.v = (void *)ord; arg_set(args, mtype, "command", var); va_start(marker, sig); while (*ic && !isalnum(*ic)) ic++; while (*ic) { char *oc = paramname; int i; while (isalnum(*ic)) *oc++ = *ic++; *oc = '\0'; for (i = 0; i != mtype->nparameters; ++i) { if (!strcmp(paramname, mtype->pnames[i])) break; } if (i != mtype->nparameters) { if (mtype->types[i]->vtype == VAR_VOIDPTR) { args[i].v = va_arg(marker, void *); } else if (mtype->types[i]->vtype == VAR_INT) { args[i].i = va_arg(marker, int); } else {
void op_par_loop_2 ( void (*subroutineName)(char *, char *), op_set set, op_dat dat0, int itemSel0, op_map map0, op_access access0, op_dat dat1, int itemSel1, op_map map1, op_access access1 ) { int i; for ( i = 0; i < set->size; i++ ) { char * ptr0, * ptr1; arg_set ( i, dat0, itemSel0, map0, &ptr0 ); arg_set ( i, dat1, itemSel1, map1, &ptr1 ); (*subroutineName) ( ptr0, ptr1 ); } }
void op_par_loop_6 ( void (*subroutineName)(char *, char *, char *, char *, char *, char *), op_set * set, op_dat * dat0, int itemSel0, op_map * map0, op_access access0, op_dat * dat1, int itemSel1, op_map * map1, op_access access1, op_dat * dat2, int itemSel2, op_map * map2, op_access access2, op_dat * dat3, int itemSel3, op_map * map3, op_access access3, op_dat * dat4, int itemSel4, op_map * map4, op_access access4, op_dat * dat5, int itemSel5, op_map * map5, op_access access5 ) { int i; for ( i = 0; i < set->size; i++ ) { char * ptr0, * ptr1, * ptr2, * ptr3, * ptr4, * ptr5; arg_set ( i, dat0, itemSel0, map0, &ptr0 ); arg_set ( i, dat1, itemSel1, map1, &ptr1 ); arg_set ( i, dat2, itemSel2, map2, &ptr2 ); arg_set ( i, dat3, itemSel3, map3, &ptr3 ); arg_set ( i, dat4, itemSel4, map4, &ptr4 ); arg_set ( i, dat5, itemSel5, map5, &ptr5 ); (*subroutineName) ( ptr0, ptr1, ptr2, ptr3, ptr4, ptr5 ); } }
int main(int argc, char** argv) { /* If no args are specified... */ if (argc == 1) { puts(HELP_MSG); return 1; } /* Set defaults */ os_detect(); g_filename = DEFAULT; g_cc = NULL; g_dotnet = NULL; g_verbose = 0; /* Process any options that will effect script processing */ arg_set(argc, argv); if (!preprocess()) return 1; /* chdir() to the directory containing the project script, so that * relative paths may be used in the script */ io_chdir(path_getdir(g_filename)); /* Now run the script */ g_hasScript = script_run(g_filename); if (g_hasScript < 0) { puts("** Script failed to run, ending."); return 1; } /* Process any options that depend on the script output */ arg_reset(); if (!postprocess()) return 1; /* All done */ if (g_hasScript) script_close(); prj_close(); return 0; }