#include #include #include #include #include #include #include #include "mt_mt.h" #include "mt_pq.h" int CheckFilename(char *str) { int retval = -1; int len; //check filename extension is .ini if (str != NULL) { len = strlen(str); if (len > 4) { if (str[len-4] == '.' && str[len-3] == 'i' && str[len-2] == 'n' && str[len-1] == 'i') { retval =0; } } } return retval; } #if 1 int mt_main(char* filename, char* output_mtname, char* output_flagname) { int i; int retval = 0; MultiTable_t *pMT = NULL; //char filename[256]; pMT = ParseMultiTableINI(filename); if (pMT != NULL) { for (i=0; imodelNum; i++) { retval = parseSubTable(pMT->modelList[i]); } if (retval == 0) { //strcpy(filename, "Multitable_"); //strcat(filename, pMT->defaultModelName); //strcat(filename, ".bin"); retval = writeMultiTable(pMT, output_mtname); if (retval == 0) { printf("Create %s done.\n", output_mtname); } //strcpy(filename, "Flag_"); //strcat(filename, pMT->defaultModelName); //strcat(filename, ".bin"); retval = writeMultiTableFlag(pMT, output_flagname); if (retval == 0) { printf("Create %s done.\n", output_flagname); } } } else { fprintf(stderr, "Error! Multitable not create!\n"); } if (pMT != NULL) { ReleaseMultiTable(pMT); free(pMT); } return 0; } #else int main(int argc, char *argv[]) { int i; int retval; MultiTable_t *pMT = NULL; char filename[256]; if (argc >= 2) { if (argc == 2) { strcpy(filename, argv[1]); //printf("%s\n", filename); retval = CheckFilename(filename); if (retval ==-1) { printf("wrong file name \"%s\", need ini file.\n", filename); exit(0); } } else { printf("Too may argument!\n"); exit(0); } } else { strcpy(filename, "multitable.ini"); } pMT = ParseMultiTableINI(filename); if (pMT != NULL) { for (i=0; imodelNum; i++) { retval = parseSubTable(pMT->modelList[i]); } if (retval == 0) { strcpy(filename, "Multitable_"); strcat(filename, pMT->defaultModelName); strcat(filename, ".bin"); retval = writeMultiTable(pMT, filename); if (retval == 0) { printf("Create %s done.\n", filename); } strcpy(filename, "Flag_"); strcat(filename, pMT->defaultModelName); strcat(filename, ".bin"); retval = writeMultiTableFlag(pMT, filename); if (retval == 0) { printf("Create %s done.\n", filename); } } } else { fprintf(stderr, "Error! Multitable not create!\n"); } if (pMT != NULL) { ReleaseMultiTable(pMT); free(pMT); pMT = NULL; } return 0; } #endif