transactd 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. checksums.yaml +4 -4
  2. data/BUILD_UNIX-JA +46 -67
  3. data/BUILD_WIN-JA +106 -63
  4. data/CMakeLists.txt +40 -15
  5. data/README +219 -75
  6. data/README-JA +207 -76
  7. data/README_ORMSRCGEN +118 -0
  8. data/README_ORMSRCGEN-JA +115 -0
  9. data/bin/common/tdclc_32_2_0.dll +0 -0
  10. data/bin/common/tdclc_64_2_0.dll +0 -0
  11. data/build/common/check_for_link_iconv.cmake +18 -14
  12. data/build/common/create_symlink.cmake.in +25 -0
  13. data/build/common/get_boost_libs.cmake +23 -23
  14. data/build/common/options.cmake +0 -66
  15. data/build/common/smart_install.cmake +3 -3
  16. data/build/common/transactd.rc.in +15 -5
  17. data/build/common/transactd_cl_common.cmake +37 -18
  18. data/build/common/transactd_cl_output.cmake +55 -13
  19. data/build/common/transactd_common.cmake +108 -31
  20. data/build/swig/php/generate.cmake.in +15 -17
  21. data/build/swig/php/generate.cmd.in +15 -9
  22. data/build/swig/php/php.swg +124 -82
  23. data/build/swig/php/transactd.no_yield.php +4494 -0
  24. data/build/swig/php/transactd.no_yield.php.git.patch +685 -0
  25. data/build/swig/php/transactd.no_yield.php.patch +685 -0
  26. data/build/swig/php/transactd.yield.php +4461 -0
  27. data/build/swig/php/transactd.yield.php.git.patch +652 -0
  28. data/build/swig/php/transactd.yield.php.patch +652 -0
  29. data/build/swig/referencecounter.h +79 -0
  30. data/build/swig/ruby/ruby.swg +226 -76
  31. data/build/swig/ruby/threadBlockRegionWrapper.h +71 -0
  32. data/build/swig/ruby/without_gvl.swg +87 -0
  33. data/build/swig/tdcl.i +659 -170
  34. data/build/swig/validatablepointer.h +91 -0
  35. data/build/tdclc/CMakeLists.txt +49 -34
  36. data/build/tdclc/{tdclc_64.cbproj → tdclc.cbproj} +65 -20
  37. data/build/tdclc/tdclc.rc +0 -0
  38. data/build/tdclcpp/CMakeLists.txt +84 -20
  39. data/build/tdclcpp/tdclcpp.rc +0 -0
  40. data/build/tdclcpp/{tdclcpp_bcb_64.cbproj → tdclcpp_bc.cbproj} +168 -44
  41. data/build/tdclrb/CMakeLists.txt +84 -66
  42. data/build/tdclrb/bldgem/extconf.rb +28 -3
  43. data/build/tdclrb/gem/helper.rb +11 -1
  44. data/build/tdclrb/gem_output.cmake +20 -16
  45. data/index_ja.html +15 -0
  46. data/source/bzs/db/IBlobBuffer.h +15 -17
  47. data/source/bzs/db/blobBuffer.h +186 -140
  48. data/source/bzs/db/blobStructs.h +37 -37
  49. data/source/bzs/db/engine/mysql/IReadRecords.h +34 -34
  50. data/source/bzs/db/engine/mysql/bookmark.h +150 -147
  51. data/source/bzs/db/engine/mysql/database.cpp +1721 -1526
  52. data/source/bzs/db/engine/mysql/database.h +608 -370
  53. data/source/bzs/db/engine/mysql/dbManager.cpp +213 -201
  54. data/source/bzs/db/engine/mysql/dbManager.h +115 -104
  55. data/source/bzs/db/engine/mysql/errorMessage.cpp +49 -50
  56. data/source/bzs/db/engine/mysql/errorMessage.h +25 -26
  57. data/source/bzs/db/engine/mysql/fieldAccess.h +55 -61
  58. data/source/bzs/db/engine/mysql/mydebuglog.cpp +326 -292
  59. data/source/bzs/db/engine/mysql/mydebuglog.h +63 -55
  60. data/source/bzs/db/engine/mysql/mysqlInternal.h +182 -125
  61. data/source/bzs/db/engine/mysql/mysqlThd.cpp +121 -121
  62. data/source/bzs/db/engine/mysql/mysqlThd.h +20 -20
  63. data/source/bzs/db/engine/mysql/percentageKey.h +241 -228
  64. data/source/bzs/db/protocol/ICommandExecuter.h +18 -17
  65. data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +543 -514
  66. data/source/bzs/db/protocol/hs/hsCommandExecuter.h +155 -158
  67. data/source/bzs/db/protocol/tdap/btrDate.cpp +213 -180
  68. data/source/bzs/db/protocol/tdap/btrDate.h +39 -37
  69. data/source/bzs/db/protocol/tdap/client/activeTable.cpp +173 -0
  70. data/source/bzs/db/protocol/tdap/client/activeTable.h +165 -0
  71. data/source/bzs/db/protocol/tdap/client/activeTableImple.h +370 -0
  72. data/source/bzs/db/protocol/tdap/client/bulkInsert.h +13 -23
  73. data/source/bzs/db/protocol/tdap/client/client.cpp +81 -68
  74. data/source/bzs/db/protocol/tdap/client/client.h +361 -320
  75. data/source/bzs/db/protocol/tdap/client/connMgr.cpp +17 -22
  76. data/source/bzs/db/protocol/tdap/client/connMgr.h +17 -19
  77. data/source/bzs/db/protocol/tdap/client/connectionPool.cpp +243 -0
  78. data/source/bzs/db/protocol/tdap/client/connectionPool.h +109 -0
  79. data/source/bzs/db/protocol/tdap/client/database.cpp +327 -219
  80. data/source/bzs/db/protocol/tdap/client/database.h +141 -118
  81. data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +60 -62
  82. data/source/bzs/db/protocol/tdap/client/databaseManager.h +255 -0
  83. data/source/bzs/db/protocol/tdap/client/dbDef.cpp +315 -202
  84. data/source/bzs/db/protocol/tdap/client/dbDef.h +40 -32
  85. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +390 -371
  86. data/source/bzs/db/protocol/tdap/client/errorMessage.cpp +148 -56
  87. data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +149 -57
  88. data/source/bzs/db/protocol/tdap/client/export.h +35 -0
  89. data/source/bzs/db/protocol/tdap/client/field.cpp +1985 -0
  90. data/source/bzs/db/protocol/tdap/client/field.h +393 -0
  91. data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +14 -14
  92. data/source/bzs/db/protocol/tdap/client/fieldDDF.h +11 -14
  93. data/source/bzs/db/protocol/tdap/client/fieldNameAlias.cpp +123 -0
  94. data/source/bzs/db/protocol/tdap/client/fieldNameAlias.h +58 -0
  95. data/source/bzs/db/protocol/tdap/client/fields.h +178 -0
  96. data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +13 -16
  97. data/source/bzs/db/protocol/tdap/client/fileDDF.h +11 -17
  98. data/source/bzs/db/protocol/tdap/client/filter.h +423 -259
  99. data/source/bzs/db/protocol/tdap/client/groupComp.h +117 -0
  100. data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +818 -0
  101. data/source/bzs/db/protocol/tdap/client/groupQuery.h +281 -0
  102. data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +14 -17
  103. data/source/bzs/db/protocol/tdap/client/indexDDF.h +11 -14
  104. data/source/bzs/db/protocol/tdap/client/memRecord.cpp +231 -0
  105. data/source/bzs/db/protocol/tdap/client/memRecord.h +145 -0
  106. data/source/bzs/db/protocol/tdap/client/memRecordset.cpp +448 -0
  107. data/source/bzs/db/protocol/tdap/client/memRecordset.h +159 -0
  108. data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +300 -173
  109. data/source/bzs/db/protocol/tdap/client/nsDatabase.h +53 -36
  110. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +171 -128
  111. data/source/bzs/db/protocol/tdap/client/nsTable.h +121 -87
  112. data/source/bzs/db/protocol/tdap/client/pooledDatabaseManager.h +173 -0
  113. data/source/bzs/db/protocol/tdap/client/recordset.cpp +209 -0
  114. data/source/bzs/db/protocol/tdap/client/recordset.h +86 -0
  115. data/source/bzs/db/protocol/tdap/client/recordsetImple.h +596 -0
  116. data/source/bzs/db/protocol/tdap/client/request.h +227 -170
  117. data/source/bzs/db/protocol/tdap/client/serializer.cpp +1288 -0
  118. data/source/bzs/db/protocol/tdap/client/serializer.h +295 -0
  119. data/source/bzs/db/protocol/tdap/client/sharedData.cpp +9 -12
  120. data/source/bzs/db/protocol/tdap/client/sharedData.h +18 -16
  121. data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +494 -473
  122. data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +51 -53
  123. data/source/bzs/db/protocol/tdap/client/stringConverter.h +214 -148
  124. data/source/bzs/db/protocol/tdap/client/table.cpp +929 -1665
  125. data/source/bzs/db/protocol/tdap/client/table.h +413 -87
  126. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +642 -534
  127. data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +25 -40
  128. data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +11 -15
  129. data/source/bzs/db/protocol/tdap/client/trdormapi.h +378 -437
  130. data/source/bzs/db/protocol/tdap/client/trnsctcl.def +1 -1
  131. data/source/bzs/db/protocol/tdap/fieldComp.h +127 -0
  132. data/source/bzs/db/protocol/tdap/myDateTime.cpp +352 -345
  133. data/source/bzs/db/protocol/tdap/mysql/characterset.cpp +75 -78
  134. data/source/bzs/db/protocol/tdap/mysql/characterset.h +18 -19
  135. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +216 -199
  136. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +23 -14
  137. data/source/bzs/db/protocol/tdap/mysql/debuglog.cpp +354 -314
  138. data/source/bzs/db/protocol/tdap/mysql/debuglog.h +57 -47
  139. data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +905 -739
  140. data/source/bzs/db/protocol/tdap/mysql/request.h +152 -159
  141. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +1044 -879
  142. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +87 -81
  143. data/source/bzs/db/protocol/tdap/tdapRequest.h +162 -130
  144. data/source/bzs/db/protocol/tdap/tdapSchema.cpp +368 -166
  145. data/source/bzs/db/protocol/tdap/tdapSchema.h +702 -566
  146. data/source/bzs/db/protocol/tdap/tdapcapi.h +387 -353
  147. data/source/bzs/db/transactd/appBuilderImple.h +21 -20
  148. data/source/bzs/db/transactd/appModule.cpp +350 -98
  149. data/source/bzs/db/transactd/appModule.h +31 -37
  150. data/source/bzs/db/transactd/connManager.cpp +138 -135
  151. data/source/bzs/db/transactd/connManager.h +28 -21
  152. data/source/bzs/db/transactd/connectionRecord.h +39 -39
  153. data/source/bzs/db/transactd/transactd.cpp +217 -203
  154. data/source/bzs/env/boost_bcb_link.h +131 -0
  155. data/source/bzs/env/compiler.h +136 -79
  156. data/source/bzs/env/crosscompile.cpp +57 -57
  157. data/source/bzs/env/crosscompile.h +130 -115
  158. data/source/bzs/env/fileopen.h +7 -8
  159. data/source/bzs/env/mbcswchrLinux.cpp +4 -9
  160. data/source/bzs/env/mbcswchrLinux.h +37 -34
  161. data/source/bzs/env/tcharMinGW.h +59 -0
  162. data/source/bzs/env/tstring.h +90 -95
  163. data/source/bzs/example/changeSchema.cpp +22 -23
  164. data/source/bzs/example/changeSchema_c.cpp +22 -24
  165. data/source/bzs/example/connection_pool_c.cpp +49 -104
  166. data/source/bzs/example/createDatabase.cpp +40 -47
  167. data/source/bzs/example/createDatabase_c.cpp +38 -43
  168. data/source/bzs/example/deleteRecords.cpp +10 -15
  169. data/source/bzs/example/deleteRecords_c.cpp +10 -14
  170. data/source/bzs/example/dropDatabase.cpp +3 -9
  171. data/source/bzs/example/dropDatabase_c.cpp +5 -6
  172. data/source/bzs/example/insertRecords.cpp +37 -29
  173. data/source/bzs/example/insertRecords_c.cpp +19 -25
  174. data/source/bzs/example/ormap_c.cpp +621 -0
  175. data/source/bzs/example/queryData.cpp +371 -0
  176. data/source/bzs/example/queryData.h +16 -0
  177. data/source/bzs/example/query_c.cpp +109 -0
  178. data/source/bzs/example/readRecords.cpp +27 -27
  179. data/source/bzs/example/readRecords_c.cpp +25 -23
  180. data/source/bzs/example/updateRecords.cpp +16 -21
  181. data/source/bzs/example/updateRecords_c.cpp +8 -12
  182. data/source/bzs/example/update_with_transaction.cpp +21 -24
  183. data/source/bzs/example/update_with_transaction_c.cpp +12 -15
  184. data/source/bzs/example/useORMRecord.cpp +177 -0
  185. data/source/bzs/netsvc/client/tcpClient.cpp +167 -156
  186. data/source/bzs/netsvc/client/tcpClient.h +541 -489
  187. data/source/bzs/netsvc/server/IAppModule.h +119 -32
  188. data/source/bzs/netsvc/server/iserver.h +21 -23
  189. data/source/bzs/netsvc/server/serverCpt.cpp +421 -391
  190. data/source/bzs/netsvc/server/serverCpt.h +41 -43
  191. data/source/bzs/netsvc/server/serverPipe.cpp +580 -565
  192. data/source/bzs/netsvc/server/serverPipe.h +44 -45
  193. data/source/bzs/netsvc/server/serverTpool.cpp +333 -303
  194. data/source/bzs/netsvc/server/serverTpool.h +38 -43
  195. data/source/bzs/rtl/benchmark.cpp +91 -31
  196. data/source/bzs/rtl/benchmark.h +76 -22
  197. data/source/bzs/rtl/datetime.cpp +231 -233
  198. data/source/bzs/rtl/datetime.h +16 -16
  199. data/source/bzs/rtl/debuglog.cpp +48 -51
  200. data/source/bzs/rtl/debuglog.h +55 -44
  201. data/source/bzs/rtl/exception.h +55 -48
  202. data/source/bzs/rtl/stl_uty.cpp +27 -28
  203. data/source/bzs/rtl/stl_uty.h +28 -29
  204. data/source/bzs/rtl/stringBuffers.cpp +8 -6
  205. data/source/bzs/rtl/stringBuffers.h +16 -9
  206. data/source/bzs/rtl/strtrim.cpp +90 -91
  207. data/source/bzs/rtl/strtrim.h +14 -16
  208. data/source/bzs/test/tdclatl/bench_query_atl.js +647 -0
  209. data/source/bzs/test/tdclatl/bench_tdclatl.js +303 -303
  210. data/source/bzs/test/tdclatl/test_query_atl.js +669 -0
  211. data/source/bzs/test/tdclphp/bench.php +357 -0
  212. data/source/bzs/test/tdclphp/transactd_Test.php +907 -303
  213. data/source/bzs/test/tdclphp/transactd_blob_Test.php +21 -49
  214. data/source/bzs/test/tdclphp/transactd_datetime_Test.php +41 -75
  215. data/source/bzs/test/tdclphp/transactd_kanjischema_Test.php +23 -37
  216. data/source/bzs/test/tdclphp/transactd_pool_Test.php +120 -0
  217. data/source/bzs/test/tdclrb/bench_tdclcpp.rb +4 -6
  218. data/source/bzs/test/tdclrb/prepare.rb +15 -12
  219. data/source/bzs/test/tdclrb/transactd_blob_spec.rb +29 -32
  220. data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -29
  221. data/source/bzs/test/tdclrb/transactd_kanjischema_spec.rb +18 -19
  222. data/source/bzs/test/tdclrb/transactd_pool_spec.rb +107 -0
  223. data/source/bzs/test/tdclrb/transactd_spec.rb +734 -142
  224. data/source/bzs/test/transactdBench/query_bench.cpp +156 -0
  225. data/source/bzs/test/transactdBench/scaling_bench.cpp +265 -0
  226. data/source/bzs/test/transactdBench/transactdBench.cpp +107 -83
  227. data/source/bzs/test/transactdBench/transactdBench2.cpp +122 -83
  228. data/source/bzs/test/transactdBench/workerBase.cpp +5 -0
  229. data/source/bzs/test/transactdBench/workerBase.h +88 -0
  230. data/source/bzs/test/transactdBench/workerMySQLImple.h +333 -0
  231. data/source/bzs/test/transactdBench/workerTransactdImple.h +201 -0
  232. data/source/bzs/test/trdclengn/test_blob.cpp +121 -73
  233. data/source/bzs/test/trdclengn/test_trdclengn.cpp +1244 -426
  234. data/source/global/ormsrcgen/confParam.h +80 -0
  235. data/source/global/ormsrcgen/fieldName.cpp +77 -0
  236. data/source/global/ormsrcgen/fieldName.h +43 -0
  237. data/source/global/ormsrcgen/main.cpp +196 -0
  238. data/source/global/ormsrcgen/srcgen.cpp +763 -0
  239. data/source/global/ormsrcgen/srcgen.h +72 -0
  240. data/source/global/ormsrcgen/template/fieldNameList_sample.txt +2 -0
  241. data/source/global/ormsrcgen/template/ormDataClass_template.cpp +48 -0
  242. data/source/global/ormsrcgen/template/ormDataClass_template.h +34 -0
  243. data/source/global/ormsrcgen/template/ormMapClass_template.cpp +51 -0
  244. data/source/global/ormsrcgen/template/ormMapClass_template.h +62 -0
  245. data/source/global/ormsrcgen/template/template.cnf +38 -0
  246. data/source/global/querystmts/querystmts.cpp +237 -0
  247. data/source/global/tdclatl/ConnectParams.cpp +77 -0
  248. data/source/global/tdclatl/ConnectParams.h +70 -0
  249. data/source/global/tdclatl/Database.cpp +132 -128
  250. data/source/global/tdclatl/Database.h +60 -49
  251. data/source/global/tdclatl/DbDef.cpp +68 -64
  252. data/source/global/tdclatl/DbDef.h +36 -36
  253. data/source/global/tdclatl/Field.cpp +12 -17
  254. data/source/global/tdclatl/Field.h +15 -12
  255. data/source/global/tdclatl/FieldDef.cpp +75 -36
  256. data/source/global/tdclatl/FieldDef.h +38 -19
  257. data/source/global/tdclatl/FieldDefs.cpp +74 -0
  258. data/source/global/tdclatl/FieldDefs.h +56 -0
  259. data/source/global/tdclatl/FieldNames.cpp +99 -0
  260. data/source/global/tdclatl/FieldNames.h +66 -0
  261. data/source/global/tdclatl/Flags.cpp +75 -37
  262. data/source/global/tdclatl/Flags.h +13 -12
  263. data/source/global/tdclatl/GroupQuery.cpp +119 -0
  264. data/source/global/tdclatl/GroupQuery.h +65 -0
  265. data/source/global/tdclatl/KeyDef.cpp +15 -14
  266. data/source/global/tdclatl/KeyDef.h +20 -17
  267. data/source/global/tdclatl/KeySegment.cpp +13 -12
  268. data/source/global/tdclatl/PooledDbManager.cpp +223 -0
  269. data/source/global/tdclatl/PooledDbManager.h +76 -0
  270. data/source/global/tdclatl/QueryBase.cpp +206 -127
  271. data/source/global/tdclatl/QueryBase.h +55 -59
  272. data/source/global/tdclatl/Record.cpp +214 -0
  273. data/source/global/tdclatl/Record.h +96 -0
  274. data/source/global/tdclatl/Recordset.cpp +278 -0
  275. data/source/global/tdclatl/Recordset.h +83 -0
  276. data/source/global/tdclatl/RecordsetQuery.cpp +118 -0
  277. data/source/global/tdclatl/RecordsetQuery.h +126 -0
  278. data/source/global/tdclatl/Table.cpp +57 -60
  279. data/source/global/tdclatl/Table.h +32 -29
  280. data/source/global/tdclatl/TableDef.cpp +63 -62
  281. data/source/global/tdclatl/TableDef.h +20 -22
  282. data/source/global/tdclatl/TdVersion.cpp +3 -3
  283. data/source/global/tdclatl/TdVersion.h +15 -11
  284. data/source/global/tdclatl/_IDatabaseEvents_CP.h +99 -92
  285. data/source/global/tdclatl/activeTable.cpp +355 -0
  286. data/source/global/tdclatl/activeTable.h +79 -0
  287. data/source/global/tdclatl/dllmain.cpp +4 -3
  288. data/source/global/tdclatl/dllmain.h +7 -6
  289. data/source/global/tdclatl/keySegment.h +22 -18
  290. data/source/global/tdclatl/resource.h +0 -0
  291. data/source/global/tdclatl/stdafx.h +6 -4
  292. data/source/global/tdclatl/targetver.h +0 -1
  293. data/source/global/tdclatl/tdclatl.cpp +10 -5
  294. data/source/global/tdclatl/tdclatl.idl +530 -14
  295. data/source/linux/charsetConvert.h +78 -79
  296. data/source/linux/linuxTypes.h +9 -12
  297. data/source/linux/tchar.h +168 -166
  298. data/transactd.gemspec +24 -16
  299. metadata +98 -12
  300. data/bin/common/tdclc_32_1_2.dll +0 -0
  301. data/bin/common/tdclc_64_1_2.dll +0 -0
  302. data/build/tdclc/tdclc_32.cbproj +0 -173
  303. data/build/tdclcpp/tdclcpp_bcb_32.cbproj +0 -232
  304. data/build/tdclrb/GEM_VERSION +0 -3
  305. data/source/bzs/db/protocol/tdap/client/filter.cpp +0 -43
  306. data/source/bzs/example/useORM.cpp +0 -585
@@ -14,150 +14,165 @@
14
14
  GNU General Public License for more details.
15
15
 
16
16
  You should have received a copy of the GNU General Public License
17
- along with this program; if not, write to the Free Software
18
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
+ along with this program; if not, write to the Free Software
18
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19
19
  02111-1307, USA.
20
20
  =================================================================*/
21
21
  #if (defined(__FreeBSD__) || defined(__APPLE__))
22
- #ifndef LINUX
23
- #define LINUX
24
- #endif
22
+ #ifndef LINUX
23
+ #define LINUX
24
+ #endif
25
25
  #endif
26
26
 
27
- #if __MINGW32__ && ( (defined(__GNUC__) && __GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) )
28
- #define sprintf_s snprintf
29
- #define swprintf_s swprintf
30
- #define _mbsstr strstr
31
- #define strcpy_s(A,B,C) strcpy(A,C)
32
- #define strncpy_s(A,B,C,D) strncpy(A,C,D)
27
+ #if __MINGW32__
28
+ #include "tcharMinGW.h"
29
+ #define strcat_s(A, B, C) strcat(A, C)
30
+ #if (defined(__GNUC__) && __GNUC__ < 4) || \
31
+ (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) // 4.5 and lesser
32
+ #define strcat_s(A, B, C) strcat(A, C)
33
+ #define sprintf_s snprintf
34
+ #define swprintf_s swprintf
35
+ #define strcpy_s(A, B, C) strcpy(A, C)
36
+ #define strncpy_s(A, B, C, D) strncpy(A, C, D)
33
37
  #ifdef _UNICODE
34
- #define _stprintf_s swprintf_s
35
- #define _tcscpy_s wcscpy_s
36
- typedef wchar_t _TUCHAR;
38
+ #define _stprintf_s swprintf_s
37
39
  #else
38
- #define _stprintf_s snprintf
39
- #define _tcscpy_s strcpy_s
40
- typedef char _TUCHAR;
40
+ #define _stprintf_s snprintf
41
41
  #endif
42
42
  #endif
43
+ int gettimeofday(struct timeval*, struct timezone*);
44
+ #endif // __MINGW32__
43
45
 
44
46
  #if (defined(LINUX))
45
- #include <ctype.h>
46
- #include <stddef.h>
47
- #include <linuxTypes.h>
47
+ #include <ctype.h>
48
+ #include <stddef.h>
49
+ #include <linuxTypes.h>
48
50
  /* c c++ runtime library */
49
- #define _strnicmp strncasecmp
50
- #define __int64 long long int
51
- #define _atoi64 atoll
52
- #define _wtoi(W) wcstol(W, NULL, 10)
53
- #define _access access
54
- #define sprintf_s snprintf
55
- #define swprintf_s swprintf
56
- #define localtime_s localtime_r
57
- #define strncpy_s(A,B,C,D) strncpy(A,C,D)
58
- #define strcpy_s(A,B,C) strcpy(A,C)
59
- #define strcat_s(A,B,C) strcat(A,C)
60
- #define _strlwr_s(A,B) _strlwr(A)
61
- #define _timezone timezone
62
-
63
- /*if on linux that cannot use multi byte char for meta data.*/
64
- #define _mbsstr strstr
65
- #define _mbsupr _strupr
66
- #define _mbsrchr strrchr
67
- #define _wcsupr _strupr16
68
- #define _wcslwr _strlwr16
69
-
70
- char* _strupr(char* s);
71
- char* _strlwr(char* s);
72
- char* _ltoa_s(int v, char* tmp, unsigned long size, int radix);
73
- char* _i64toa_s(__int64 v, char* tmp, unsigned long size, int radix);
74
- char16_t* _strupr16(char16_t* s);
75
- char16_t* _strlwr16(char16_t* s);
76
- size_t strlen16(const char16_t* src);
77
- int wcsnicmp16(const char16_t *sl, const char16_t *sr, size_t n);
78
- int wcsncmp16(const char16_t *sl, const char16_t *sr, size_t n);
79
- char16_t* wmemset16(char16_t* p , char16_t c, size_t n);
80
- char16_t* wmemcpy(char16_t* dest, const char16_t* src, size_t count);
51
+ #define _strnicmp strncasecmp
52
+ #define __int64 long long int
53
+ #define _atoi64 atoll
54
+ #define _wtoi(W) wcstol(W, NULL, 10)
55
+ #define _access access
56
+ #define sprintf_s snprintf
57
+ #define swprintf_s swprintf
58
+ #define localtime_s localtime_r
59
+ #define strncpy_s(A, B, C, D) strncpy(A, C, D)
60
+ #define strcpy_s(A, B, C) strcpy(A, C)
61
+ #define strcat_s(A, B, C) strcat(A, C)
62
+ #define _strlwr_s(A, B) _strlwr(A)
63
+ #define _timezone timezone
64
+
65
+ /*if on linux that cannot use multi byte char for meta data.*/
66
+ #define _mbsstr strstr
67
+ #define _mbsupr _strupr
68
+ #define _mbsrchr strrchr
69
+ #define _wcsupr _strupr16
70
+ #define _wcslwr _strlwr16
71
+
72
+ char* _strupr(char* s);
73
+ char* _strlwr(char* s);
74
+ char* _ltoa_s(int v, char* tmp, unsigned long size, int radix);
75
+ char* _i64toa_s(__int64 v, char* tmp, unsigned long size, int radix);
76
+ char16_t* _strupr16(char16_t* s);
77
+ char16_t* _strlwr16(char16_t* s);
78
+ size_t strlen16(const char16_t* src);
79
+ int wcsnicmp16(const char16_t* sl, const char16_t* sr, size_t n);
80
+ int wcsncmp16(const char16_t* sl, const char16_t* sr, size_t n);
81
+ char16_t* wmemset16(char16_t* p, char16_t c, size_t n);
82
+ char16_t* wmemcpy(char16_t* dest, const char16_t* src, size_t count);
81
83
 
82
84
  /* operating system */
83
- #ifndef _TCHAR
84
- #define _TCHAR char
85
- #endif
86
- #ifndef _T
87
- #define _T(A) A
88
- #endif
89
-
90
- #define PSEPARATOR _T("/")
91
- #define PSEPARATOR_A "/"
92
- #define PSEPARATOR_C '/'
93
- typedef int HWND;
94
- #define MAX_PATH 266
95
- #define MCRTOMM 1000 //for usleep(��sec) to Sleep(msec)
96
- #define Sleep usleep
97
- #define LoadLibrary(A) dlopen(A, RTLD_LAZY)
98
- #define LoadLibraryA(A) dlopen(A, RTLD_LAZY)
99
- #define GetProcAddress(A, B) dlsym(A, B)
100
- #define FreeLibrary(A) dlclose(A)
101
- #define OutputDebugString(A)
85
+ #ifndef _TCHAR
86
+ #define _TCHAR char
87
+ #endif
88
+ #ifndef _T
89
+ #define _T(A) A
90
+ #endif
91
+
92
+ #define PSEPARATOR _T("/")
93
+ #define PSEPARATOR_A "/"
94
+ #define PSEPARATOR_C '/'
95
+ typedef int HWND;
96
+ #define MAX_PATH 266
97
+ #define MCRTOMM 1000 // for usleep(��sec) to Sleep(msec)
98
+ #define Sleep usleep
99
+ #define LoadLibrary(A) dlopen(A, RTLD_LAZY)
100
+ #define LoadLibraryA(A) dlopen(A, RTLD_LAZY)
101
+ #define GetProcAddress(A, B) dlsym(A, B)
102
+ #define FreeLibrary(A) dlclose(A)
103
+ #define OutputDebugString(A)
102
104
 
103
105
  /* muliti byete char */
104
- typedef char mbchar;
105
- typedef char char_m;
106
-
106
+ typedef char mbchar;
107
+ typedef char char_m;
108
+
107
109
  #else //!defined(LINUX)
108
110
 
109
- // define _ttof for MinGW or less than visual studio 2010
110
- #if defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER < 1600)
111
- #ifdef _UNICODE
112
- #define _ttof _wtof
113
- #else
114
- #define _ttof atof
115
- #endif
116
- #endif
111
+ // define _ttof for MinGW or less than visual studio 2010
112
+ #if defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER < 1600)
113
+ #ifdef _UNICODE
114
+ #define _ttof _wtof
115
+ #else
116
+ #define _ttof atof
117
+ #endif
118
+ #endif
119
+
120
+ // define char16_t and char32_t for Visual Studio 2008 or earlier, and MinGW
121
+ #if (defined(_MSC_VER) && _MSC_VER < 1600) || defined(__MINGW32__)
122
+ typedef unsigned __int16 char16_t; // 16bit
123
+ typedef unsigned __int32 char32_t; // 32bit
124
+ #endif
117
125
 
118
126
  /* c c++ runtime library */
119
- #include <tchar.h>
120
- #if defined(__BORLANDC__) || defined(__MINGW32__)
121
- #define _ltow_s(A,B,C,D) _ltow(A, B, D)
122
- #define _ltoa_s(A,B,C,D) _ltoa(A, B, D)
123
- #define _ltot_s(A,B,C,D) _ltot(A,B,D)
124
- #define _i64tow_s(A,B,C,D) _i64tow(A, B, D)
125
- #define _i64toa_s(A,B,C,D) _i64toa(A, B, D)
126
- #define _strlwr_s(A, B) strlwr(A)
127
- #endif
128
- #define wcsnicmp16(A, B, C) _wcsnicmp((const wchar_t*)(A), (const wchar_t*)(B) , C)
129
- #define wcsncmp16(A, B, C) wcsncmp((const wchar_t*)(A), (const wchar_t*)(B) , C)
130
- #define wmemset16 wmemset
131
- #define strlen16 wcslen
132
-
127
+ #include <tchar.h>
128
+ #if defined(__BORLANDC__) || defined(__MINGW32__)
129
+ #define _ltow_s(A, B, C, D) _ltow(A, B, D)
130
+ #define _ltoa_s(A, B, C, D) _ltoa(A, B, D)
131
+ #define _ltot_s(A, B, C, D) _ltot(A, B, D)
132
+ #define _ultot_s(A, B, C, D) _ultot(A, B, D)
133
+ #define _i64tot_s(A, B, C, D) _i64tot(A, B, D)
134
+ #define _i64tow_s(A, B, C, D) _i64tow(A, B, D)
135
+ #define _i64toa_s(A, B, C, D) _i64toa(A, B, D)
136
+ #define _strlwr_s(A, B) strlwr(A)
137
+ #endif
138
+
139
+ #if defined(__BORLANDC__)
140
+ #define _strupr strupr
141
+ #define _strnicmp strnicmp
142
+ #endif
143
+
144
+ #define wcsnicmp16(A, B, C) \
145
+ _wcsnicmp((const wchar_t*)(A), (const wchar_t*)(B), C)
146
+ #define wcsncmp16(A, B, C) wcsncmp((const wchar_t*)(A), (const wchar_t*)(B), C)
147
+ #define wmemset16 wmemset
148
+ #define strlen16 wcslen
149
+
133
150
  /* operating system */
134
- #define MCRTOMM 1
135
- #define PSEPARATOR _T("\\")
136
- #define PSEPARATOR_A "\\"
137
- #define PSEPARATOR_C '\\'
151
+ #define MCRTOMM 1
152
+ #define PSEPARATOR _T("\\")
153
+ #define PSEPARATOR_A "\\"
154
+ #define PSEPARATOR_C '\\'
138
155
 
139
-
140
156
  /* muliti byete char */
141
- typedef unsigned char mbchar;
142
- typedef unsigned char char_m;
143
-
144
- #endif//defined(LINUX)
157
+ typedef unsigned char mbchar;
158
+ typedef unsigned char char_m;
145
159
 
160
+ #endif // defined(LINUX)
146
161
 
147
162
  #if (defined(__BORLANDC__) || defined(LINUX))
148
- #define localtime_x(_tm, time) localtime_s(time, _tm)
163
+ #define localtime_x(_tm, time) localtime_s(time, _tm)
149
164
  #else //!__BORLANDC__
150
- #define localtime_x(_tm, time) (localtime_s(_tm, time)==0)
151
- #endif//__BORLANDC__
165
+ #define localtime_x(_tm, time) (localtime_s(_tm, time) == 0)
166
+ #endif //__BORLANDC__
152
167
 
153
168
  #ifdef _WIN32
154
- #define tls_key DWORD
155
- #define tls_getspecific(A) TlsGetValue(A)
156
- #define tls_setspecific(A, B) TlsSetValue(A, B)
169
+ #define tls_key DWORD
170
+ #define tls_getspecific(A) TlsGetValue(A)
171
+ #define tls_setspecific(A, B) TlsSetValue(A, B)
157
172
  #else
158
- #define tls_key pthread_key_t
159
- #define tls_getspecific(A) pthread_getspecific(A)
160
- #define tls_setspecific(A, B) pthread_setspecific(A, B)
173
+ #define tls_key pthread_key_t
174
+ #define tls_getspecific(A) pthread_getspecific(A)
175
+ #define tls_setspecific(A, B) pthread_setspecific(A, B)
161
176
  #endif
162
177
 
163
- #endif //BZS_ENV_CROSSCOMPILE_H
178
+ #endif // BZS_ENV_CROSSCOMPILE_H
@@ -14,8 +14,8 @@
14
14
  GNU General Public License for more details.
15
15
 
16
16
  You should have received a copy of the GNU General Public License
17
- along with this program; if not, write to the Free Software
18
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
+ along with this program; if not, write to the Free Software
18
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19
19
  02111-1307, USA.
20
20
  =================================================================*/
21
21
 
@@ -23,14 +23,13 @@
23
23
 
24
24
  inline FILE* fileOpen(const char* filename, const char* flag)
25
25
  {
26
- FILE* fp;
26
+ FILE* fp;
27
27
  #ifdef LINUX
28
- fp = fopen(filename, flag);
28
+ fp = fopen(filename, flag);
29
29
  #else
30
- fopen_s(&fp, filename, flag);
30
+ fopen_s(&fp, filename, flag);
31
31
  #endif
32
- return fp;
32
+ return fp;
33
33
  }
34
34
 
35
-
36
- #endif //BZS_ENV_FILEOPEN_H
35
+ #endif // BZS_ENV_FILEOPEN_H
@@ -12,16 +12,14 @@
12
12
  GNU General Public License for more details.
13
13
 
14
14
  You should have received a copy of the GNU General Public License
15
- along with this program; if not, write to the Free Software
16
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
15
+ along with this program; if not, write to the Free Software
16
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
17
  02111-1307, USA.
18
18
  =================================================================*/
19
19
 
20
20
  #include "mbcswchrLinux.h"
21
21
  #include <stdio.h>
22
22
 
23
-
24
-
25
23
  namespace bzs
26
24
  {
27
25
  namespace env
@@ -33,8 +31,5 @@ cvt mbu8cvt(UTF8_CHARSETNAME, MBC_CHARSETNAME);
33
31
  cvt u8wccvt("UTF-16LE", UTF8_CHARSETNAME);
34
32
  cvt wcu8cvt(UTF8_CHARSETNAME, "UTF-16LE");
35
33
 
36
-
37
- }//namespace env
38
- }//namespace bzs
39
-
40
-
34
+ } // namespace env
35
+ } // namespace bzs
@@ -14,65 +14,69 @@
14
14
  GNU General Public License for more details.
15
15
 
16
16
  You should have received a copy of the GNU General Public License
17
- along with this program; if not, write to the Free Software
18
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
+ along with this program; if not, write to the Free Software
18
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19
19
  02111-1307, USA.
20
20
  =================================================================*/
21
21
 
22
22
  #include <charsetConvert.h>
23
23
 
24
24
  #define CP_UTF8 65001
25
- #define CP_ACP CP_UTF8
26
- #define GetACP() CP_ACP
25
+ #define CP_ACP CP_UTF8
26
+ #define GetACP() CP_ACP
27
27
 
28
- #define MBC_CHARSETNAME "SHIFT-JIS"// mbc charctor set
28
+ #define MBC_CHARSETNAME "SHIFT-JIS" // mbc charctor set
29
29
  #define UTF8_CHARSETNAME "UTF-8"
30
30
 
31
31
  namespace bzs
32
32
  {
33
33
  namespace env
34
34
  {
35
- extern cvt u8mbcvt;// utf8 to mbc
36
- extern cvt mbu8cvt;// mbc to utf8
37
- extern cvt mbcscvt;// mbc to utf16le
38
- extern cvt wchrcvt;// utf16le to mbc
39
- extern cvt u8wccvt;// utf8 to utf16le
40
- extern cvt wcu8cvt;// utf16le to utf8
41
-
42
-
43
- inline int WideCharToMultiByte(unsigned int codepage, unsigned int dwFlags
44
- , const char16_t* lpWideCharStr,int cchWideChar
45
- , char* lpMultiByteStr, int cchMultiByte
46
- , const char* lpDefaultChar, int* lpUsedDefaultChar)
35
+ extern cvt u8mbcvt; // utf8 to mbc
36
+ extern cvt mbu8cvt; // mbc to utf8
37
+ extern cvt mbcscvt; // mbc to utf16le
38
+ extern cvt wchrcvt; // utf16le to mbc
39
+ extern cvt u8wccvt; // utf8 to utf16le
40
+ extern cvt wcu8cvt; // utf16le to utf8
41
+
42
+ inline int WideCharToMultiByte(unsigned int codepage, unsigned int dwFlags,
43
+ const char16_t* lpWideCharStr, int cchWideChar,
44
+ char* lpMultiByteStr, int cchMultiByte,
45
+ const char* lpDefaultChar,
46
+ int* lpUsedDefaultChar)
47
47
  {
48
- if (codepage == CP_UTF8)
49
- return wcu8cvt.conv(lpWideCharStr, (size_t)(cchWideChar + cchWideChar), lpMultiByteStr, (size_t)cchMultiByte);
50
- return wchrcvt.conv(lpWideCharStr, (size_t)(cchWideChar + cchWideChar), lpMultiByteStr, (size_t)cchMultiByte);
48
+ if (codepage == CP_UTF8)
49
+ return wcu8cvt.conv(lpWideCharStr, (size_t)(cchWideChar + cchWideChar),
50
+ lpMultiByteStr, (size_t)cchMultiByte);
51
+ return wchrcvt.conv(lpWideCharStr, (size_t)(cchWideChar + cchWideChar),
52
+ lpMultiByteStr, (size_t)cchMultiByte);
51
53
  }
52
54
 
53
- inline int MultiByteToWideChar(unsigned int codepage, unsigned int dwFlags, const char* lpMultiByteStr
54
- ,int cchMultiByte, char16_t* lpWideCharStr, int cchWideChar)
55
+ inline int MultiByteToWideChar(unsigned int codepage, unsigned int dwFlags,
56
+ const char* lpMultiByteStr, int cchMultiByte,
57
+ char16_t* lpWideCharStr, int cchWideChar)
55
58
  {
56
- if (codepage == CP_UTF8)
57
- return u8wccvt.conv(lpMultiByteStr, (size_t)cchMultiByte, lpWideCharStr, (size_t)(cchWideChar + cchWideChar));
58
- return mbcscvt.conv(lpMultiByteStr, (size_t)cchMultiByte, lpWideCharStr, (size_t)(cchWideChar + cchWideChar));
59
+ if (codepage == CP_UTF8)
60
+ return u8wccvt.conv(lpMultiByteStr, (size_t)cchMultiByte, lpWideCharStr,
61
+ (size_t)(cchWideChar + cchWideChar));
62
+ return mbcscvt.conv(lpMultiByteStr, (size_t)cchMultiByte, lpWideCharStr,
63
+ (size_t)(cchWideChar + cchWideChar));
59
64
  }
60
65
 
61
66
  inline int u8tombc(const char* u8, int u8size, char* mbc, int mbcsize)
62
67
  {
63
- return u8mbcvt.conv(u8, (size_t)u8size, mbc, (size_t)mbcsize);
68
+ return u8mbcvt.conv(u8, (size_t)u8size, mbc, (size_t)mbcsize);
64
69
  }
65
70
 
66
71
  inline int mbctou8(const char* mbc, int mbcsize, char* u8, int u8size)
67
72
  {
68
- return mbu8cvt.conv(mbc, (size_t)mbcsize, u8, (size_t)u8size);
73
+ return mbu8cvt.conv(mbc, (size_t)mbcsize, u8, (size_t)u8size);
69
74
  }
70
75
 
76
+ } // namespace env
77
+ } // namespace bzs
71
78
 
72
- }//namespace env
73
- }//namespace bzs
74
-
75
- //Definition dummy
79
+ // Definition dummy
76
80
  #define MB_PRECOMPOSED 0
77
81
  #define WC_COMPOSITECHECK 0
78
82
 
@@ -81,8 +85,7 @@ using bzs::env::MultiByteToWideChar;
81
85
 
82
86
  // Surrogate support
83
87
  #if !defined IS_HIGH_SURROGATE
84
- #define IS_HIGH_SURROGATE(t) ((t >= 0xD800) && (t <= 0xDBEF))
88
+ #define IS_HIGH_SURROGATE(t) ((t >= 0xD800) && (t <= 0xDBEF))
85
89
  #endif
86
90
 
87
-
88
- #endif //BZS_ENV_MBCSWCHRLINUX_H
91
+ #endif // BZS_ENV_MBCSWCHRLINUX_H
@@ -0,0 +1,59 @@
1
+ #ifndef BZS_ENV_TCHARMINGW_H
2
+ #define BZS_ENV_TCHARMINGW_H
3
+ /* =================================================================
4
+ Copyright (C) 2000-2014 BizStation Corp All rights reserved.
5
+
6
+ This program is free software; you can redistribute it and/or
7
+ modify it under the terms of the GNU General Public License
8
+ as published by the Free Software Foundation; either version 2
9
+ of the License, or (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program; if not, write to the Free Software
18
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19
+ 02111-1307, USA.
20
+ ================================================================= */
21
+ #if __MINGW32__ && defined(__GNUC__)
22
+
23
+ #ifdef _UNICODE
24
+
25
+ #define _tcsncpy_s wcsncpy_s
26
+
27
+ #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) // 4.5 and lesser
28
+ #define _tcscpy_s wcscpy_s
29
+ #define _tcscat_s wcscat_s
30
+ typedef wchar_t _TUCHAR;
31
+ #elseif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5) // 4.6 and grater
32
+ #define _tcsstr wcsstr
33
+ #define _tcscmp wcscmp
34
+ #define _tcschr wcschr
35
+ #define _tcsrchr wcsrchr
36
+ #define _tcsncpy wcsncpy
37
+ #define _tcsicmp _wcsicmp
38
+ #endif
39
+
40
+ #else // NOT _UNICODE
41
+
42
+ #define _tcsncpy_s strncpy_s
43
+
44
+ #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) // 4.5 and lesser
45
+ #define _tcscpy_s strcpy_s
46
+ #define _tcscat_s strcat_s
47
+ typedef char _TUCHAR;
48
+ #elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5) // 4.6 and grater
49
+ #define _tcsstr strstr
50
+ #define _tcscmp strcmp
51
+ #define _tcschr strchr
52
+ #define _tcsrchr strrchr
53
+ #define _tcsncpy strncpy
54
+ #define _tcsicmp strcasecmp
55
+ #endif
56
+
57
+ #endif // _UNICODE
58
+ #endif // __MINGW32__ && defined(__GNUC__)
59
+ #endif // BZS_ENV_TCHARMINGW_H