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.
- checksums.yaml +4 -4
- data/BUILD_UNIX-JA +46 -67
- data/BUILD_WIN-JA +106 -63
- data/CMakeLists.txt +40 -15
- data/README +219 -75
- data/README-JA +207 -76
- data/README_ORMSRCGEN +118 -0
- data/README_ORMSRCGEN-JA +115 -0
- data/bin/common/tdclc_32_2_0.dll +0 -0
- data/bin/common/tdclc_64_2_0.dll +0 -0
- data/build/common/check_for_link_iconv.cmake +18 -14
- data/build/common/create_symlink.cmake.in +25 -0
- data/build/common/get_boost_libs.cmake +23 -23
- data/build/common/options.cmake +0 -66
- data/build/common/smart_install.cmake +3 -3
- data/build/common/transactd.rc.in +15 -5
- data/build/common/transactd_cl_common.cmake +37 -18
- data/build/common/transactd_cl_output.cmake +55 -13
- data/build/common/transactd_common.cmake +108 -31
- data/build/swig/php/generate.cmake.in +15 -17
- data/build/swig/php/generate.cmd.in +15 -9
- data/build/swig/php/php.swg +124 -82
- data/build/swig/php/transactd.no_yield.php +4494 -0
- data/build/swig/php/transactd.no_yield.php.git.patch +685 -0
- data/build/swig/php/transactd.no_yield.php.patch +685 -0
- data/build/swig/php/transactd.yield.php +4461 -0
- data/build/swig/php/transactd.yield.php.git.patch +652 -0
- data/build/swig/php/transactd.yield.php.patch +652 -0
- data/build/swig/referencecounter.h +79 -0
- data/build/swig/ruby/ruby.swg +226 -76
- data/build/swig/ruby/threadBlockRegionWrapper.h +71 -0
- data/build/swig/ruby/without_gvl.swg +87 -0
- data/build/swig/tdcl.i +659 -170
- data/build/swig/validatablepointer.h +91 -0
- data/build/tdclc/CMakeLists.txt +49 -34
- data/build/tdclc/{tdclc_64.cbproj → tdclc.cbproj} +65 -20
- data/build/tdclc/tdclc.rc +0 -0
- data/build/tdclcpp/CMakeLists.txt +84 -20
- data/build/tdclcpp/tdclcpp.rc +0 -0
- data/build/tdclcpp/{tdclcpp_bcb_64.cbproj → tdclcpp_bc.cbproj} +168 -44
- data/build/tdclrb/CMakeLists.txt +84 -66
- data/build/tdclrb/bldgem/extconf.rb +28 -3
- data/build/tdclrb/gem/helper.rb +11 -1
- data/build/tdclrb/gem_output.cmake +20 -16
- data/index_ja.html +15 -0
- data/source/bzs/db/IBlobBuffer.h +15 -17
- data/source/bzs/db/blobBuffer.h +186 -140
- data/source/bzs/db/blobStructs.h +37 -37
- data/source/bzs/db/engine/mysql/IReadRecords.h +34 -34
- data/source/bzs/db/engine/mysql/bookmark.h +150 -147
- data/source/bzs/db/engine/mysql/database.cpp +1721 -1526
- data/source/bzs/db/engine/mysql/database.h +608 -370
- data/source/bzs/db/engine/mysql/dbManager.cpp +213 -201
- data/source/bzs/db/engine/mysql/dbManager.h +115 -104
- data/source/bzs/db/engine/mysql/errorMessage.cpp +49 -50
- data/source/bzs/db/engine/mysql/errorMessage.h +25 -26
- data/source/bzs/db/engine/mysql/fieldAccess.h +55 -61
- data/source/bzs/db/engine/mysql/mydebuglog.cpp +326 -292
- data/source/bzs/db/engine/mysql/mydebuglog.h +63 -55
- data/source/bzs/db/engine/mysql/mysqlInternal.h +182 -125
- data/source/bzs/db/engine/mysql/mysqlThd.cpp +121 -121
- data/source/bzs/db/engine/mysql/mysqlThd.h +20 -20
- data/source/bzs/db/engine/mysql/percentageKey.h +241 -228
- data/source/bzs/db/protocol/ICommandExecuter.h +18 -17
- data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +543 -514
- data/source/bzs/db/protocol/hs/hsCommandExecuter.h +155 -158
- data/source/bzs/db/protocol/tdap/btrDate.cpp +213 -180
- data/source/bzs/db/protocol/tdap/btrDate.h +39 -37
- data/source/bzs/db/protocol/tdap/client/activeTable.cpp +173 -0
- data/source/bzs/db/protocol/tdap/client/activeTable.h +165 -0
- data/source/bzs/db/protocol/tdap/client/activeTableImple.h +370 -0
- data/source/bzs/db/protocol/tdap/client/bulkInsert.h +13 -23
- data/source/bzs/db/protocol/tdap/client/client.cpp +81 -68
- data/source/bzs/db/protocol/tdap/client/client.h +361 -320
- data/source/bzs/db/protocol/tdap/client/connMgr.cpp +17 -22
- data/source/bzs/db/protocol/tdap/client/connMgr.h +17 -19
- data/source/bzs/db/protocol/tdap/client/connectionPool.cpp +243 -0
- data/source/bzs/db/protocol/tdap/client/connectionPool.h +109 -0
- data/source/bzs/db/protocol/tdap/client/database.cpp +327 -219
- data/source/bzs/db/protocol/tdap/client/database.h +141 -118
- data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +60 -62
- data/source/bzs/db/protocol/tdap/client/databaseManager.h +255 -0
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +315 -202
- data/source/bzs/db/protocol/tdap/client/dbDef.h +40 -32
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +390 -371
- data/source/bzs/db/protocol/tdap/client/errorMessage.cpp +148 -56
- data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +149 -57
- data/source/bzs/db/protocol/tdap/client/export.h +35 -0
- data/source/bzs/db/protocol/tdap/client/field.cpp +1985 -0
- data/source/bzs/db/protocol/tdap/client/field.h +393 -0
- data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +14 -14
- data/source/bzs/db/protocol/tdap/client/fieldDDF.h +11 -14
- data/source/bzs/db/protocol/tdap/client/fieldNameAlias.cpp +123 -0
- data/source/bzs/db/protocol/tdap/client/fieldNameAlias.h +58 -0
- data/source/bzs/db/protocol/tdap/client/fields.h +178 -0
- data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +13 -16
- data/source/bzs/db/protocol/tdap/client/fileDDF.h +11 -17
- data/source/bzs/db/protocol/tdap/client/filter.h +423 -259
- data/source/bzs/db/protocol/tdap/client/groupComp.h +117 -0
- data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +818 -0
- data/source/bzs/db/protocol/tdap/client/groupQuery.h +281 -0
- data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +14 -17
- data/source/bzs/db/protocol/tdap/client/indexDDF.h +11 -14
- data/source/bzs/db/protocol/tdap/client/memRecord.cpp +231 -0
- data/source/bzs/db/protocol/tdap/client/memRecord.h +145 -0
- data/source/bzs/db/protocol/tdap/client/memRecordset.cpp +448 -0
- data/source/bzs/db/protocol/tdap/client/memRecordset.h +159 -0
- data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +300 -173
- data/source/bzs/db/protocol/tdap/client/nsDatabase.h +53 -36
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +171 -128
- data/source/bzs/db/protocol/tdap/client/nsTable.h +121 -87
- data/source/bzs/db/protocol/tdap/client/pooledDatabaseManager.h +173 -0
- data/source/bzs/db/protocol/tdap/client/recordset.cpp +209 -0
- data/source/bzs/db/protocol/tdap/client/recordset.h +86 -0
- data/source/bzs/db/protocol/tdap/client/recordsetImple.h +596 -0
- data/source/bzs/db/protocol/tdap/client/request.h +227 -170
- data/source/bzs/db/protocol/tdap/client/serializer.cpp +1288 -0
- data/source/bzs/db/protocol/tdap/client/serializer.h +295 -0
- data/source/bzs/db/protocol/tdap/client/sharedData.cpp +9 -12
- data/source/bzs/db/protocol/tdap/client/sharedData.h +18 -16
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +494 -473
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +51 -53
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +214 -148
- data/source/bzs/db/protocol/tdap/client/table.cpp +929 -1665
- data/source/bzs/db/protocol/tdap/client/table.h +413 -87
- data/source/bzs/db/protocol/tdap/client/trdboostapi.h +642 -534
- data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +25 -40
- data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +11 -15
- data/source/bzs/db/protocol/tdap/client/trdormapi.h +378 -437
- data/source/bzs/db/protocol/tdap/client/trnsctcl.def +1 -1
- data/source/bzs/db/protocol/tdap/fieldComp.h +127 -0
- data/source/bzs/db/protocol/tdap/myDateTime.cpp +352 -345
- data/source/bzs/db/protocol/tdap/mysql/characterset.cpp +75 -78
- data/source/bzs/db/protocol/tdap/mysql/characterset.h +18 -19
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +216 -199
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +23 -14
- data/source/bzs/db/protocol/tdap/mysql/debuglog.cpp +354 -314
- data/source/bzs/db/protocol/tdap/mysql/debuglog.h +57 -47
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +905 -739
- data/source/bzs/db/protocol/tdap/mysql/request.h +152 -159
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +1044 -879
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +87 -81
- data/source/bzs/db/protocol/tdap/tdapRequest.h +162 -130
- data/source/bzs/db/protocol/tdap/tdapSchema.cpp +368 -166
- data/source/bzs/db/protocol/tdap/tdapSchema.h +702 -566
- data/source/bzs/db/protocol/tdap/tdapcapi.h +387 -353
- data/source/bzs/db/transactd/appBuilderImple.h +21 -20
- data/source/bzs/db/transactd/appModule.cpp +350 -98
- data/source/bzs/db/transactd/appModule.h +31 -37
- data/source/bzs/db/transactd/connManager.cpp +138 -135
- data/source/bzs/db/transactd/connManager.h +28 -21
- data/source/bzs/db/transactd/connectionRecord.h +39 -39
- data/source/bzs/db/transactd/transactd.cpp +217 -203
- data/source/bzs/env/boost_bcb_link.h +131 -0
- data/source/bzs/env/compiler.h +136 -79
- data/source/bzs/env/crosscompile.cpp +57 -57
- data/source/bzs/env/crosscompile.h +130 -115
- data/source/bzs/env/fileopen.h +7 -8
- data/source/bzs/env/mbcswchrLinux.cpp +4 -9
- data/source/bzs/env/mbcswchrLinux.h +37 -34
- data/source/bzs/env/tcharMinGW.h +59 -0
- data/source/bzs/env/tstring.h +90 -95
- data/source/bzs/example/changeSchema.cpp +22 -23
- data/source/bzs/example/changeSchema_c.cpp +22 -24
- data/source/bzs/example/connection_pool_c.cpp +49 -104
- data/source/bzs/example/createDatabase.cpp +40 -47
- data/source/bzs/example/createDatabase_c.cpp +38 -43
- data/source/bzs/example/deleteRecords.cpp +10 -15
- data/source/bzs/example/deleteRecords_c.cpp +10 -14
- data/source/bzs/example/dropDatabase.cpp +3 -9
- data/source/bzs/example/dropDatabase_c.cpp +5 -6
- data/source/bzs/example/insertRecords.cpp +37 -29
- data/source/bzs/example/insertRecords_c.cpp +19 -25
- data/source/bzs/example/ormap_c.cpp +621 -0
- data/source/bzs/example/queryData.cpp +371 -0
- data/source/bzs/example/queryData.h +16 -0
- data/source/bzs/example/query_c.cpp +109 -0
- data/source/bzs/example/readRecords.cpp +27 -27
- data/source/bzs/example/readRecords_c.cpp +25 -23
- data/source/bzs/example/updateRecords.cpp +16 -21
- data/source/bzs/example/updateRecords_c.cpp +8 -12
- data/source/bzs/example/update_with_transaction.cpp +21 -24
- data/source/bzs/example/update_with_transaction_c.cpp +12 -15
- data/source/bzs/example/useORMRecord.cpp +177 -0
- data/source/bzs/netsvc/client/tcpClient.cpp +167 -156
- data/source/bzs/netsvc/client/tcpClient.h +541 -489
- data/source/bzs/netsvc/server/IAppModule.h +119 -32
- data/source/bzs/netsvc/server/iserver.h +21 -23
- data/source/bzs/netsvc/server/serverCpt.cpp +421 -391
- data/source/bzs/netsvc/server/serverCpt.h +41 -43
- data/source/bzs/netsvc/server/serverPipe.cpp +580 -565
- data/source/bzs/netsvc/server/serverPipe.h +44 -45
- data/source/bzs/netsvc/server/serverTpool.cpp +333 -303
- data/source/bzs/netsvc/server/serverTpool.h +38 -43
- data/source/bzs/rtl/benchmark.cpp +91 -31
- data/source/bzs/rtl/benchmark.h +76 -22
- data/source/bzs/rtl/datetime.cpp +231 -233
- data/source/bzs/rtl/datetime.h +16 -16
- data/source/bzs/rtl/debuglog.cpp +48 -51
- data/source/bzs/rtl/debuglog.h +55 -44
- data/source/bzs/rtl/exception.h +55 -48
- data/source/bzs/rtl/stl_uty.cpp +27 -28
- data/source/bzs/rtl/stl_uty.h +28 -29
- data/source/bzs/rtl/stringBuffers.cpp +8 -6
- data/source/bzs/rtl/stringBuffers.h +16 -9
- data/source/bzs/rtl/strtrim.cpp +90 -91
- data/source/bzs/rtl/strtrim.h +14 -16
- data/source/bzs/test/tdclatl/bench_query_atl.js +647 -0
- data/source/bzs/test/tdclatl/bench_tdclatl.js +303 -303
- data/source/bzs/test/tdclatl/test_query_atl.js +669 -0
- data/source/bzs/test/tdclphp/bench.php +357 -0
- data/source/bzs/test/tdclphp/transactd_Test.php +907 -303
- data/source/bzs/test/tdclphp/transactd_blob_Test.php +21 -49
- data/source/bzs/test/tdclphp/transactd_datetime_Test.php +41 -75
- data/source/bzs/test/tdclphp/transactd_kanjischema_Test.php +23 -37
- data/source/bzs/test/tdclphp/transactd_pool_Test.php +120 -0
- data/source/bzs/test/tdclrb/bench_tdclcpp.rb +4 -6
- data/source/bzs/test/tdclrb/prepare.rb +15 -12
- data/source/bzs/test/tdclrb/transactd_blob_spec.rb +29 -32
- data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -29
- data/source/bzs/test/tdclrb/transactd_kanjischema_spec.rb +18 -19
- data/source/bzs/test/tdclrb/transactd_pool_spec.rb +107 -0
- data/source/bzs/test/tdclrb/transactd_spec.rb +734 -142
- data/source/bzs/test/transactdBench/query_bench.cpp +156 -0
- data/source/bzs/test/transactdBench/scaling_bench.cpp +265 -0
- data/source/bzs/test/transactdBench/transactdBench.cpp +107 -83
- data/source/bzs/test/transactdBench/transactdBench2.cpp +122 -83
- data/source/bzs/test/transactdBench/workerBase.cpp +5 -0
- data/source/bzs/test/transactdBench/workerBase.h +88 -0
- data/source/bzs/test/transactdBench/workerMySQLImple.h +333 -0
- data/source/bzs/test/transactdBench/workerTransactdImple.h +201 -0
- data/source/bzs/test/trdclengn/test_blob.cpp +121 -73
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +1244 -426
- data/source/global/ormsrcgen/confParam.h +80 -0
- data/source/global/ormsrcgen/fieldName.cpp +77 -0
- data/source/global/ormsrcgen/fieldName.h +43 -0
- data/source/global/ormsrcgen/main.cpp +196 -0
- data/source/global/ormsrcgen/srcgen.cpp +763 -0
- data/source/global/ormsrcgen/srcgen.h +72 -0
- data/source/global/ormsrcgen/template/fieldNameList_sample.txt +2 -0
- data/source/global/ormsrcgen/template/ormDataClass_template.cpp +48 -0
- data/source/global/ormsrcgen/template/ormDataClass_template.h +34 -0
- data/source/global/ormsrcgen/template/ormMapClass_template.cpp +51 -0
- data/source/global/ormsrcgen/template/ormMapClass_template.h +62 -0
- data/source/global/ormsrcgen/template/template.cnf +38 -0
- data/source/global/querystmts/querystmts.cpp +237 -0
- data/source/global/tdclatl/ConnectParams.cpp +77 -0
- data/source/global/tdclatl/ConnectParams.h +70 -0
- data/source/global/tdclatl/Database.cpp +132 -128
- data/source/global/tdclatl/Database.h +60 -49
- data/source/global/tdclatl/DbDef.cpp +68 -64
- data/source/global/tdclatl/DbDef.h +36 -36
- data/source/global/tdclatl/Field.cpp +12 -17
- data/source/global/tdclatl/Field.h +15 -12
- data/source/global/tdclatl/FieldDef.cpp +75 -36
- data/source/global/tdclatl/FieldDef.h +38 -19
- data/source/global/tdclatl/FieldDefs.cpp +74 -0
- data/source/global/tdclatl/FieldDefs.h +56 -0
- data/source/global/tdclatl/FieldNames.cpp +99 -0
- data/source/global/tdclatl/FieldNames.h +66 -0
- data/source/global/tdclatl/Flags.cpp +75 -37
- data/source/global/tdclatl/Flags.h +13 -12
- data/source/global/tdclatl/GroupQuery.cpp +119 -0
- data/source/global/tdclatl/GroupQuery.h +65 -0
- data/source/global/tdclatl/KeyDef.cpp +15 -14
- data/source/global/tdclatl/KeyDef.h +20 -17
- data/source/global/tdclatl/KeySegment.cpp +13 -12
- data/source/global/tdclatl/PooledDbManager.cpp +223 -0
- data/source/global/tdclatl/PooledDbManager.h +76 -0
- data/source/global/tdclatl/QueryBase.cpp +206 -127
- data/source/global/tdclatl/QueryBase.h +55 -59
- data/source/global/tdclatl/Record.cpp +214 -0
- data/source/global/tdclatl/Record.h +96 -0
- data/source/global/tdclatl/Recordset.cpp +278 -0
- data/source/global/tdclatl/Recordset.h +83 -0
- data/source/global/tdclatl/RecordsetQuery.cpp +118 -0
- data/source/global/tdclatl/RecordsetQuery.h +126 -0
- data/source/global/tdclatl/Table.cpp +57 -60
- data/source/global/tdclatl/Table.h +32 -29
- data/source/global/tdclatl/TableDef.cpp +63 -62
- data/source/global/tdclatl/TableDef.h +20 -22
- data/source/global/tdclatl/TdVersion.cpp +3 -3
- data/source/global/tdclatl/TdVersion.h +15 -11
- data/source/global/tdclatl/_IDatabaseEvents_CP.h +99 -92
- data/source/global/tdclatl/activeTable.cpp +355 -0
- data/source/global/tdclatl/activeTable.h +79 -0
- data/source/global/tdclatl/dllmain.cpp +4 -3
- data/source/global/tdclatl/dllmain.h +7 -6
- data/source/global/tdclatl/keySegment.h +22 -18
- data/source/global/tdclatl/resource.h +0 -0
- data/source/global/tdclatl/stdafx.h +6 -4
- data/source/global/tdclatl/targetver.h +0 -1
- data/source/global/tdclatl/tdclatl.cpp +10 -5
- data/source/global/tdclatl/tdclatl.idl +530 -14
- data/source/linux/charsetConvert.h +78 -79
- data/source/linux/linuxTypes.h +9 -12
- data/source/linux/tchar.h +168 -166
- data/transactd.gemspec +24 -16
- metadata +98 -12
- data/bin/common/tdclc_32_1_2.dll +0 -0
- data/bin/common/tdclc_64_1_2.dll +0 -0
- data/build/tdclc/tdclc_32.cbproj +0 -173
- data/build/tdclcpp/tdclcpp_bcb_32.cbproj +0 -232
- data/build/tdclrb/GEM_VERSION +0 -3
- data/source/bzs/db/protocol/tdap/client/filter.cpp +0 -43
- 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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
#ifndef LINUX
|
|
23
|
+
#define LINUX
|
|
24
|
+
#endif
|
|
25
25
|
#endif
|
|
26
26
|
|
|
27
|
-
#if __MINGW32__
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
|
|
35
|
-
#define _tcscpy_s wcscpy_s
|
|
36
|
-
typedef wchar_t _TUCHAR;
|
|
38
|
+
#define _stprintf_s swprintf_s
|
|
37
39
|
#else
|
|
38
|
-
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
#include <ctype.h>
|
|
48
|
+
#include <stddef.h>
|
|
49
|
+
#include <linuxTypes.h>
|
|
48
50
|
/* c c++ runtime library */
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
105
|
-
|
|
106
|
-
|
|
106
|
+
typedef char mbchar;
|
|
107
|
+
typedef char char_m;
|
|
108
|
+
|
|
107
109
|
#else //!defined(LINUX)
|
|
108
110
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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
|
-
|
|
142
|
-
|
|
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
|
-
|
|
163
|
+
#define localtime_x(_tm, time) localtime_s(time, _tm)
|
|
149
164
|
#else //!__BORLANDC__
|
|
150
|
-
|
|
151
|
-
#endif//__BORLANDC__
|
|
165
|
+
#define localtime_x(_tm, time) (localtime_s(_tm, time) == 0)
|
|
166
|
+
#endif //__BORLANDC__
|
|
152
167
|
|
|
153
168
|
#ifdef _WIN32
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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
|
-
|
|
159
|
-
|
|
160
|
-
|
|
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
|
data/source/bzs/env/fileopen.h
CHANGED
|
@@ -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
|
-
|
|
26
|
+
FILE* fp;
|
|
27
27
|
#ifdef LINUX
|
|
28
|
-
|
|
28
|
+
fp = fopen(filename, flag);
|
|
29
29
|
#else
|
|
30
|
-
|
|
30
|
+
fopen_s(&fp, filename, flag);
|
|
31
31
|
#endif
|
|
32
|
-
|
|
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
|
|
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
|
|
26
|
-
#define GetACP()
|
|
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
|
|
36
|
-
extern cvt mbu8cvt
|
|
37
|
-
extern cvt mbcscvt
|
|
38
|
-
extern cvt wchrcvt
|
|
39
|
-
extern cvt u8wccvt
|
|
40
|
-
extern cvt wcu8cvt
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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,
|
|
54
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
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
|