You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

225 lines
12 KiB

  1. /**************** RCMsg C Program Source Code File (.C) ****************/
  2. /* PROGRAM NAME: RCMSG */
  3. /* ------------- */
  4. /* Version 1.1 */
  5. /* */
  6. /* COPYRIGHT */
  7. /* ---------- */
  8. /* (C) Copyright to the author Olivier BERTRAND: 2005 - 2013 */
  9. /* */
  10. /* WHAT THIS PROGRAM DOES */
  11. /* ----------------------- */
  12. /* This program simulates LoadString for Unix and Linux. */
  13. /* */
  14. /***********************************************************************/
  15. #include <stdio.h>
  16. #include "resource.h"
  17. #include "rcmsg.h"
  18. char *GetMsgid(int id)
  19. {
  20. char *p = NULL;
  21. switch (id) {
  22. case IDS_00: p = "%s"; break;
  23. #if defined(FRENCH)
  24. case IDS_01: p = "%s: erreur d'allocation du buffer de communication de %d octets"; break;
  25. case IDS_02: p = "%s: erreur d'allocation m�moire tampon pour %d colonnes"; break;
  26. case IDS_03: p = "%s: Commande sp�ciale invalide"; break;
  27. case IDS_04: p = "%s: Wrong number of arguments %d"; break;
  28. case IDS_05: p = "%s"; break;
  29. case IDS_06: p = "%s: Commande d�passant la taille du buffer interne (%d octets)"; break;
  30. case IDS_07: p = "%s: Donn�es (%d octets) tronqu�es � la taille du buffer"; break;
  31. case IDS_08: p = "%s: R�sultat d�passant la taille du buffer interne (%d octets)"; break;
  32. case IDS_09: p = "Erreur dans %s: %s"; break;
  33. case IDS_10: p = "%s: erreur d'allocating m�moire de %d octets"; break;
  34. case IDS_11: p = "%s: mauvaise cl� de connexion %d"; break;
  35. case IDS_12: p = "%s: Pas plus de %d connexions autoris�es pour un programme"; break;
  36. case IDS_13: p = "%s: cl� de connexion invalide %d"; break;
  37. case IDS_14: p = "SafeDB: %s rc=%d"; break;
  38. case IDS_15: p = "Mauvaise Dll de communication appel�e par le moteur %s"; break;
  39. case IDS_TAB_01: p = "Catalogue"; break;
  40. case IDS_TAB_02: p = "Sch�ma"; break;
  41. case IDS_TAB_03: p = "Nom"; break;
  42. case IDS_TAB_04: p = "Type"; break;
  43. case IDS_TAB_05: p = "Remarque"; break;
  44. case IDS_COL_01: p = "Cat_Table"; break;
  45. case IDS_COL_02: p = "Schem_Table"; break;
  46. case IDS_COL_03: p = "Nom_Table"; break;
  47. case IDS_COL_04: p = "Nom_Colonne"; break;
  48. case IDS_COL_05: p = "Type_Donn�es"; break;
  49. case IDS_COL_06: p = "Nom_Type"; break;
  50. case IDS_COL_07: p = "Pr�cision"; break;
  51. case IDS_COL_08: p = "Longueur"; break;
  52. case IDS_COL_09: p = "Echelle"; break;
  53. case IDS_COL_10: p = "Base"; break;
  54. case IDS_COL_11: p = "Nullifiable"; break;
  55. case IDS_COL_12: p = "Remarques"; break;
  56. case IDS_INF_01: p = "Nom_Type"; break;
  57. case IDS_INF_02: p = "Type_Donn�es"; break;
  58. case IDS_INF_03: p = "Pr�cision"; break;
  59. case IDS_INF_04: p = "Pr�fixe_Lit�ral"; break;
  60. case IDS_INF_05: p = "Suffixe_Lit�ral"; break;
  61. case IDS_INF_06: p = "Cr�ation_Params"; break;
  62. case IDS_INF_07: p = "Nullifiable"; break;
  63. case IDS_INF_08: p = "Maj_Minuscule"; break;
  64. case IDS_INF_09: p = "Localisable"; break;
  65. case IDS_INF_10: p = "Valeur_Absolue"; break;
  66. case IDS_INF_11: p = "Monnaie"; break;
  67. case IDS_INF_12: p = "Auto_Incr�ment"; break;
  68. case IDS_INF_13: p = "Nom_Type_Local"; break;
  69. case IDS_INF_14: p = "Echelle_Minimum"; break;
  70. case IDS_INF_15: p = "Echelle_Maximum"; break;
  71. case IDS_PKY_01: p = "Cat_Table"; break;
  72. case IDS_PKY_02: p = "Schem_Table"; break;
  73. case IDS_PKY_03: p = "Nom_Table"; break;
  74. case IDS_PKY_04: p = "Nom_Colonne"; break;
  75. case IDS_PKY_05: p = "Num�ro_Cl�"; break;
  76. case IDS_PKY_06: p = "Nom_Cl�"; break;
  77. case IDS_FKY_01: p = "PKTable_Catalog"; break;
  78. case IDS_FKY_02: p = "PKTable_Schema"; break;
  79. case IDS_FKY_03: p = "PKTable_Name"; break;
  80. case IDS_FKY_04: p = "PKColumn_Name"; break;
  81. case IDS_FKY_05: p = "FKTable_Catalog"; break;
  82. case IDS_FKY_06: p = "FKTable_Schema"; break;
  83. case IDS_FKY_07: p = "FKTable_Name"; break;
  84. case IDS_FKY_08: p = "FKColumn_Name"; break;
  85. case IDS_FKY_09: p = "Key_Seq"; break;
  86. case IDS_FKY_10: p = "Update_Rule"; break;
  87. case IDS_FKY_11: p = "Delete_Rule"; break;
  88. case IDS_FKY_12: p = "FK_Name"; break;
  89. case IDS_FKY_13: p = "PK_Name"; break;
  90. case IDS_STA_01: p = "Table_Catalog"; break;
  91. case IDS_STA_02: p = "Table_Schema"; break;
  92. case IDS_STA_03: p = "Table_Name"; break;
  93. case IDS_STA_04: p = "Non_Unique"; break;
  94. case IDS_STA_05: p = "Index_Qualifier"; break;
  95. case IDS_STA_06: p = "Index_Name"; break;
  96. case IDS_STA_07: p = "Type"; break;
  97. case IDS_STA_08: p = "Seq_in_Index"; break;
  98. case IDS_STA_09: p = "Column_Name"; break;
  99. case IDS_STA_10: p = "Collation"; break;
  100. case IDS_STA_11: p = "Cardinality"; break;
  101. case IDS_STA_12: p = "Pages"; break;
  102. case IDS_STA_13: p = "Filter_Condition"; break;
  103. case IDS_SPC_01: p = "Champ"; break;
  104. case IDS_SPC_02: p = "Nom_Colonne"; break;
  105. case IDS_SPC_03: p = "Type_Donn�es"; break;
  106. case IDS_SPC_04: p = "Nom_Type"; break;
  107. case IDS_SPC_05: p = "Pr�cision"; break;
  108. case IDS_SPC_06: p = "Longueur"; break;
  109. case IDS_SPC_07: p = "Echelle"; break;
  110. case IDS_SPC_08: p = "Pseudo_Colonne"; break;
  111. case IDS_DRV_01: p = "Description"; break;
  112. case IDS_DRV_02: p = "Attributs"; break;
  113. case IDS_DSC_01: p = "Nom"; break;
  114. case IDS_DSC_02: p = "Description"; break;
  115. #else // English
  116. case IDS_01: p = "%s: error allocating communication buffer of %d bytes"; break;
  117. case IDS_02: p = "%s: error allocating parser memory for %d columns"; break;
  118. case IDS_03: p = "%s: Invalid special command"; break;
  119. case IDS_04: p = "%s: Wrong number of arguments %d"; break;
  120. case IDS_05: p = "%s"; break;
  121. case IDS_06: p = "%s: Command bigger than internal buffer of size = %d"; break;
  122. case IDS_07: p = "%s: Data truncated to buffer size, actual length is %d bytes"; break;
  123. case IDS_08: p = "%s: Result bigger than internal buffer of size = %d"; break;
  124. case IDS_09: p = "Error in %s: %s"; break;
  125. case IDS_10: p = "%s: error allocating instance memory of %d bytes"; break;
  126. case IDS_11: p = "%s: wrong connection key value %d"; break;
  127. case IDS_12: p = "%s: No more than %d connections allowed from one process"; break;
  128. case IDS_13: p = "%s: invalid connection key value %d"; break;
  129. case IDS_14: p = "SafeDB: %s rc=%d"; break;
  130. case IDS_15: p = "Wrong communication Dll called for engine %s"; break;
  131. case IDS_TAB_01: p = "Table_Cat"; break;
  132. case IDS_TAB_02: p = "Table_Schema"; break;
  133. case IDS_TAB_03: p = "Table_Name"; break;
  134. case IDS_TAB_04: p = "Table_Type"; break;
  135. case IDS_TAB_05: p = "Remark"; break;
  136. case IDS_COL_01: p = "Table_Cat"; break;
  137. case IDS_COL_02: p = "Table_Schema"; break;
  138. case IDS_COL_03: p = "Table_Name"; break;
  139. case IDS_COL_04: p = "Column_Name"; break;
  140. case IDS_COL_05: p = "Data_Type"; break;
  141. case IDS_COL_06: p = "Type_Name"; break;
  142. case IDS_COL_07: p = "Column_Size"; break;
  143. case IDS_COL_08: p = "Buffer_Length"; break;
  144. case IDS_COL_09: p = "Decimal_Digits"; break;
  145. case IDS_COL_10: p = "Radix"; break;
  146. case IDS_COL_11: p = "Nullable"; break;
  147. case IDS_COL_12: p = "Remarks"; break;
  148. case IDS_INF_01: p = "Type_Name"; break;
  149. case IDS_INF_02: p = "Data_Type"; break;
  150. case IDS_INF_03: p = "Precision"; break;
  151. case IDS_INF_04: p = "Literal_Prefix"; break;
  152. case IDS_INF_05: p = "Literal_Suffix"; break;
  153. case IDS_INF_06: p = "Create_Params"; break;
  154. case IDS_INF_07: p = "Nullable"; break;
  155. case IDS_INF_08: p = "Case_Sensitive"; break;
  156. case IDS_INF_09: p = "Searchable"; break;
  157. case IDS_INF_10: p = "Unsigned_Attribute"; break;
  158. case IDS_INF_11: p = "Money"; break;
  159. case IDS_INF_12: p = "Auto_Increment"; break;
  160. case IDS_INF_13: p = "Local_Type_Name"; break;
  161. case IDS_INF_14: p = "Minimum_Scale"; break;
  162. case IDS_INF_15: p = "Maximum_Scale"; break;
  163. case IDS_PKY_01: p = "Table_Catalog"; break;
  164. case IDS_PKY_02: p = "Table_Schema"; break;
  165. case IDS_PKY_03: p = "Table_Name"; break;
  166. case IDS_PKY_04: p = "Column_Name"; break;
  167. case IDS_PKY_05: p = "Key_Seq"; break;
  168. case IDS_PKY_06: p = "Pk_Name"; break;
  169. case IDS_FKY_01: p = "PKTable_Catalog"; break;
  170. case IDS_FKY_02: p = "PKTable_Schema"; break;
  171. case IDS_FKY_03: p = "PKTable_Name"; break;
  172. case IDS_FKY_04: p = "PKColumn_Name"; break;
  173. case IDS_FKY_05: p = "FKTable_Catalog"; break;
  174. case IDS_FKY_06: p = "FKTable_Schema"; break;
  175. case IDS_FKY_07: p = "FKTable_Name"; break;
  176. case IDS_FKY_08: p = "FKColumn_Name"; break;
  177. case IDS_FKY_09: p = "Key_Seq"; break;
  178. case IDS_FKY_10: p = "Update_Rule"; break;
  179. case IDS_FKY_11: p = "Delete_Rule"; break;
  180. case IDS_FKY_12: p = "FK_Name"; break;
  181. case IDS_FKY_13: p = "PK_Name"; break;
  182. case IDS_STA_01: p = "Table_Catalog"; break;
  183. case IDS_STA_02: p = "Table_Schema"; break;
  184. case IDS_STA_03: p = "Table_Name"; break;
  185. case IDS_STA_04: p = "Non_Unique"; break;
  186. case IDS_STA_05: p = "Index_Qualifier"; break;
  187. case IDS_STA_06: p = "Index_Name"; break;
  188. case IDS_STA_07: p = "Type"; break;
  189. case IDS_STA_08: p = "Seq_in_Index"; break;
  190. case IDS_STA_09: p = "Column_Name"; break;
  191. case IDS_STA_10: p = "Collation"; break;
  192. case IDS_STA_11: p = "Cardinality"; break;
  193. case IDS_STA_12: p = "Pages"; break;
  194. case IDS_STA_13: p = "Filter_Condition"; break;
  195. case IDS_SPC_01: p = "Scope"; break;
  196. case IDS_SPC_02: p = "Column_Name"; break;
  197. case IDS_SPC_03: p = "Data_Type"; break;
  198. case IDS_SPC_04: p = "Type_Name"; break;
  199. case IDS_SPC_05: p = "Precision"; break;
  200. case IDS_SPC_06: p = "Length"; break;
  201. case IDS_SPC_07: p = "Scale"; break;
  202. case IDS_SPC_08: p = "Pseudo_Column"; break;
  203. case IDS_DRV_01: p = "Description"; break;
  204. case IDS_DRV_02: p = "Attributes"; break;
  205. case IDS_DSC_01: p = "Name"; break;
  206. case IDS_DSC_02: p = "Description"; break;
  207. #endif // English
  208. } // endswitch(id)
  209. return p;
  210. } // end of GetMsgid
  211. int GetRcString(int id, char *buf, int bufsize)
  212. {
  213. char *p = NULL, msg[32];
  214. if (!(p = GetMsgid(id))) {
  215. sprintf(msg, "ID=%d unknown", id);
  216. p = msg;
  217. } // endif p
  218. return sprintf(buf, "%.*s", bufsize-1, p);
  219. } // end of GetRcString