mt_main.c 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <regex.h>
  4. #include <sys/types.h>
  5. #include <sys/stat.h>
  6. #include <unistd.h>
  7. #include <string.h>
  8. #include "mt_mt.h"
  9. #include "mt_pq.h"
  10. int CheckFilename(char *str)
  11. {
  12. int retval = -1;
  13. int len;
  14. //check filename extension is .ini
  15. if (str != NULL)
  16. {
  17. len = strlen(str);
  18. if (len > 4)
  19. {
  20. if (str[len-4] == '.' && str[len-3] == 'i' &&
  21. str[len-2] == 'n' && str[len-1] == 'i')
  22. {
  23. retval =0;
  24. }
  25. }
  26. }
  27. return retval;
  28. }
  29. #if 1
  30. int mt_main(char* filename, char* output_mtname, char* output_flagname)
  31. {
  32. int i;
  33. int retval = 0;
  34. MultiTable_t *pMT = NULL;
  35. //char filename[256];
  36. pMT = ParseMultiTableINI(filename);
  37. if (pMT != NULL)
  38. {
  39. for (i=0; i<pMT->modelNum; i++)
  40. {
  41. retval = parseSubTable(pMT->modelList[i]);
  42. }
  43. if (retval == 0)
  44. {
  45. //strcpy(filename, "Multitable_");
  46. //strcat(filename, pMT->defaultModelName);
  47. //strcat(filename, ".bin");
  48. retval = writeMultiTable(pMT, output_mtname);
  49. if (retval == 0)
  50. {
  51. printf("Create %s done.\n", output_mtname);
  52. }
  53. //strcpy(filename, "Flag_");
  54. //strcat(filename, pMT->defaultModelName);
  55. //strcat(filename, ".bin");
  56. retval = writeMultiTableFlag(pMT, output_flagname);
  57. if (retval == 0)
  58. {
  59. printf("Create %s done.\n", output_flagname);
  60. }
  61. }
  62. }
  63. else
  64. {
  65. fprintf(stderr, "Error! Multitable not create!\n");
  66. }
  67. if (pMT != NULL)
  68. {
  69. ReleaseMultiTable(pMT);
  70. free(pMT);
  71. }
  72. return 0;
  73. }
  74. #else
  75. int main(int argc, char *argv[])
  76. {
  77. int i;
  78. int retval;
  79. MultiTable_t *pMT = NULL;
  80. char filename[256];
  81. if (argc >= 2)
  82. {
  83. if (argc == 2)
  84. {
  85. strcpy(filename, argv[1]);
  86. //printf("%s\n", filename);
  87. retval = CheckFilename(filename);
  88. if (retval ==-1)
  89. {
  90. printf("wrong file name \"%s\", need ini file.\n", filename);
  91. exit(0);
  92. }
  93. }
  94. else
  95. {
  96. printf("Too may argument!\n");
  97. exit(0);
  98. }
  99. }
  100. else
  101. {
  102. strcpy(filename, "multitable.ini");
  103. }
  104. pMT = ParseMultiTableINI(filename);
  105. if (pMT != NULL)
  106. {
  107. for (i=0; i<pMT->modelNum; i++)
  108. {
  109. retval = parseSubTable(pMT->modelList[i]);
  110. }
  111. if (retval == 0)
  112. {
  113. strcpy(filename, "Multitable_");
  114. strcat(filename, pMT->defaultModelName);
  115. strcat(filename, ".bin");
  116. retval = writeMultiTable(pMT, filename);
  117. if (retval == 0)
  118. {
  119. printf("Create %s done.\n", filename);
  120. }
  121. strcpy(filename, "Flag_");
  122. strcat(filename, pMT->defaultModelName);
  123. strcat(filename, ".bin");
  124. retval = writeMultiTableFlag(pMT, filename);
  125. if (retval == 0)
  126. {
  127. printf("Create %s done.\n", filename);
  128. }
  129. }
  130. }
  131. else
  132. {
  133. fprintf(stderr, "Error! Multitable not create!\n");
  134. }
  135. if (pMT != NULL)
  136. {
  137. ReleaseMultiTable(pMT);
  138. free(pMT);
  139. pMT = NULL;
  140. }
  141. return 0;
  142. }
  143. #endif