From o2on-svn @ lists.sourceforge.jp Mon Feb 18 01:03:59 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Mon, 18 Feb 2008 01:03:59 +0900 Subject: [o2on-svn] =?utf-8?b?WzMwXSAg44Kz44O844OJ5L+u5q2j5ryP44KMICggUmV2?= =?utf-8?b?NOOBqFJldjExICk=?= Message-ID: <1203264239.370805.13112.nullmailer@users.sourceforge.jp> Revision: 30 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=30 Author: laxmi Date: 2008-02-18 01:03:59 +0900 (Mon, 18 Feb 2008) Log Message: ----------- コード修正漏れ(Rev4とRev11) Revision Links: -------------- http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=4 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=11 Modified Paths: -------------- trunk/o2on/src.o2on/O2Agent.cpp Modified: trunk/o2on/src.o2on/O2Agent.cpp =================================================================== --- trunk/o2on/src.o2on/O2Agent.cpp 2007-07-20 09:47:54 UTC (rev 29) +++ trunk/o2on/src.o2on/O2Agent.cpp 2008-02-17 16:03:59 UTC (rev 30) @@ -215,18 +215,14 @@ { CoInitialize(NULL); - WSADATA wsaData; - WSAStartup(MAKEWORD(2, 0), &wsaData); - O2Agent *me = (O2Agent*)data; uint ret = me->LaunchThread(); - WSACleanup(); CoUninitialize(); CloseHandle(me->LaunchThreadHandle); me->LaunchThreadHandle = NULL; - _endthreadex(0); + //_endthreadex(0); return (ret); } @@ -462,18 +458,14 @@ { CoInitialize(NULL); - WSADATA wsaData; - WSAStartup(MAKEWORD(2, 0), &wsaData); - O2Agent *me = (O2Agent*)data; uint ret = me->NetIOThread(); - WSACleanup(); CoUninitialize(); CloseHandle(me->NetIOThreadHandle); me->NetIOThreadHandle = NULL; - _endthreadex(0); + //_endthreadex(0); return (ret); } From o2on-svn @ lists.sourceforge.jp Thu Feb 21 00:09:08 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Thu, 21 Feb 2008 00:09:08 +0900 Subject: [o2on-svn] =?utf-8?b?WzMxXSBGSVg6IENyZWF0ZUZpbGXjga7miLvjgorlgKQ=?= =?utf-8?b?44GMSU5WQUxJRF9IQU5ETEVfVkFMVUXjga7mmYLjgavjgIE=?= Message-ID: <1203520148.625460.2892.nullmailer@users.sourceforge.jp> Revision: 31 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=31 Author: laxmi Date: 2008-02-21 00:09:08 +0900 (Thu, 21 Feb 2008) Log Message: ----------- FIX:CreateFileの戻り値がINVALID_HANDLE_VALUEの時に、 デストラクタでCloseHandleを呼び出してしまう Modified Paths: -------------- trunk/o2on/src.o2on/file.h Modified: trunk/o2on/src.o2on/file.h =================================================================== --- trunk/o2on/src.o2on/file.h 2008-02-17 16:03:59 UTC (rev 30) +++ trunk/o2on/src.o2on/file.h 2008-02-20 15:09:08 UTC (rev 31) @@ -37,7 +37,7 @@ public: File(void) - : hFile(NULL) + : hFile(INVALID_HANDLE_VALUE) { } @@ -170,9 +170,9 @@ void close(void) { - if (hFile) { + if (hFile != INVALID_HANDLE_VALUE) { CloseHandle(hFile); - hFile = NULL; + hFile = INVALID_HANDLE_VALUE; } } @@ -208,7 +208,7 @@ public: MappedFile(void) - : hFile(NULL) + : hFile(INVALID_HANDLE_VALUE) , hMap(NULL) , addrP(NULL) , ov(NULL) @@ -313,9 +313,9 @@ delete ov; ov = NULL; } - if (hFile) { + if (hFile != INVALID_HANDLE_VALUE) { CloseHandle(hFile); - hFile = NULL; + hFile = INVALID_HANDLE_VALUE; } } From o2on-svn @ lists.sourceforge.jp Sat Feb 23 12:04:59 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sat, 23 Feb 2008 12:04:59 +0900 Subject: [o2on-svn] =?utf-8?b?WzMyXSBGSVg6IG8yb27nqLzli5XkuK3jgavmpJzntKI=?= =?utf-8?b?44Kv44Ko44Oq44Gu55m76Yyy44GM5YWo44Gm5raI44GI44KL?= Message-ID: <1203735899.843416.29882.nullmailer@users.sourceforge.jp> Revision: 32 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=32 Author: laxmi Date: 2008-02-23 12:04:59 +0900 (Sat, 23 Feb 2008) Log Message: ----------- FIX:o2on稼動中に検索クエリの登録が全て消える 原因:dataconv#FromUnicodeの呼び出し前にCoInitialize(NULL);の呼び出しがないためdataconv#FromUnicodeに失敗するため Modified Paths: -------------- trunk/o2on/src.o2on/O2LagQueryQueue.h Modified: trunk/o2on/src.o2on/O2LagQueryQueue.h =================================================================== --- trunk/o2on/src.o2on/O2LagQueryQueue.h 2008-02-20 15:09:08 UTC (rev 31) +++ trunk/o2on/src.o2on/O2LagQueryQueue.h 2008-02-23 03:04:59 UTC (rev 32) @@ -122,7 +122,10 @@ static uint WINAPI StaticThread(void *data) { O2LagQueryQueue *me = (O2LagQueryQueue*)data; + + CoInitialize(NULL); me->Checker(); + CoUninitialize(); //_endthreadex(0); return (0); From o2on-svn @ lists.sourceforge.jp Sun Feb 24 08:36:52 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 24 Feb 2008 08:36:52 +0900 Subject: [o2on-svn] =?utf-8?b?WzMzXSBGSVg6ICDlhoXolLXjg5bjg6njgqbjgrbjgqo=?= =?utf-8?b?44OX44K344On44Oz44KS54Sh5Yq55YyW?= Message-ID: <1203809812.385812.30009.nullmailer@users.sourceforge.jp> Revision: 33 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=33 Author: k-uehara Date: 2008-02-24 08:36:52 +0900 (Sun, 24 Feb 2008) Log Message: ----------- FIX: ?????????????激??潟??≦??? Modified Paths: -------------- trunk/o2on/src.o2on/resource.rc Modified: trunk/o2on/src.o2on/resource.rc =================================================================== --- trunk/o2on/src.o2on/resource.rc 2008-02-23 03:04:59 UTC (rev 32) +++ trunk/o2on/src.o2on/resource.rc 2008-02-23 23:36:52 UTC (rev 33) @@ -210,7 +210,7 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN CONTROL "??????????(&D)",IDC_BROWSER_DEFAULT,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,6,6,174,10 - CONTROL "????????????(&I)",IDC_BROWSER_INTERNAL,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,6,24,174,10 + CONTROL "????????????(&I)",IDC_BROWSER_INTERNAL,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED,6,24,174,10 CONTROL "??????????(&C)",IDC_BROWSER_CUSTOM,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,6,42,156,10 EDITTEXT IDC_BROWSER_PATH,18,54,144,14,ES_AUTOHSCROLL PUSHBUTTON "?",IDC_REF,162,54,20,14 From o2on-svn @ lists.sourceforge.jp Thu Feb 28 23:37:50 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Thu, 28 Feb 2008 23:37:50 +0900 Subject: [o2on-svn] =?utf-8?b?WzM0XSAgRnJvbVVuaWNvZGXjgahUb1VuaWNvZGXjgath?= =?utf-8?b?c3NlcnTmlofjgpLov73liqA=?= Message-ID: <1204209470.544305.13851.nullmailer@users.sourceforge.jp> Revision: 34 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=34 Author: laxmi Date: 2008-02-28 23:37:50 +0900 (Thu, 28 Feb 2008) Log Message: ----------- FromUnicode??oUnicode??ssert???菴遵? Modified Paths: -------------- trunk/o2on/src.o2on/dataconv.cpp Modified: trunk/o2on/src.o2on/dataconv.cpp =================================================================== --- trunk/o2on/src.o2on/dataconv.cpp 2008-02-23 23:36:52 UTC (rev 33) +++ trunk/o2on/src.o2on/dataconv.cpp 2008-02-28 14:37:50 UTC (rev 34) @@ -19,6 +19,7 @@ #include #include #include +#include const char *hex = "0123456789abcdef"; const wchar_t *whex = L"0123456789abcdef"; @@ -646,6 +647,7 @@ HRESULT hr = CoCreateInstance(CLSID_CMultiLanguage, NULL, CLSCTX_ALL, IID_IMultiLanguage, (LPVOID*)&lang); + assert(SUCCEEDED(hr)); //Charset???? MIMECSETINFO csetinfo; if (SUCCEEDED(hr)) @@ -685,6 +687,7 @@ HRESULT hr = CoCreateInstance(CLSID_CMultiLanguage, NULL, CLSCTX_ALL, IID_IMultiLanguage, (LPVOID*)&lang); + assert(SUCCEEDED(hr)); //Charset???? MIMECSETINFO csetinfo; if (SUCCEEDED(hr)) From o2on-svn @ lists.sourceforge.jp Wed Mar 5 19:11:12 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Wed, 05 Mar 2008 19:11:12 +0900 Subject: [o2on-svn] =?utf-8?b?WzM1XSBGSVg6ICBVUG5Q44GuVVJM5Yem55CG44Gu5LiN?= =?utf-8?b?5YKZ?= Message-ID: <1204711872.534325.15824.nullmailer@users.sourceforge.jp> Revision: 35 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=35 Author: k-uehara Date: 2008-03-05 19:11:12 +0900 (Wed, 05 Mar 2008) Log Message: ----------- FIX: UPnPのURL処理の不備 http://pc11.2ch.net/test/read.cgi/tech/1180440415/458 より Modified Paths: -------------- trunk/o2on/src.o2on/upnp_description.h Modified: trunk/o2on/src.o2on/upnp_description.h =================================================================== --- trunk/o2on/src.o2on/upnp_description.h 2008-02-28 14:37:50 UTC (rev 34) +++ trunk/o2on/src.o2on/upnp_description.h 2008-03-05 10:11:12 UTC (rev 35) @@ -336,7 +336,7 @@ if (wcsstr(cur_element.c_str(), L"URL")) { if (strncmp(str.c_str(), "http://", 7) != 0) - str = base_url + str; + str = base_url + (str[0] == '/' ? "" : "/") + str; } if (cur_device) { From o2on-svn @ lists.sourceforge.jp Thu Mar 6 14:52:32 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Thu, 06 Mar 2008 14:52:32 +0900 Subject: [o2on-svn] [36] FIX: typo Message-ID: <1204782752.112307.13241.nullmailer@users.sourceforge.jp> Revision: 36 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=36 Author: k-uehara Date: 2008-03-06 14:52:31 +0900 (Thu, 06 Mar 2008) Log Message: ----------- FIX: typo Modified Paths: -------------- trunk/o2on/src.o2on/O2Profile.cpp Modified: trunk/o2on/src.o2on/O2Profile.cpp =================================================================== --- trunk/o2on/src.o2on/O2Profile.cpp 2008-03-05 10:11:12 UTC (rev 35) +++ trunk/o2on/src.o2on/O2Profile.cpp 2008-03-06 05:52:31 UTC (rev 36) @@ -1255,7 +1255,7 @@ } //AdminRoot - if (cond.mask & PROF_XMLELM_CACHEROOT) { + if (cond.mask & PROF_XMLELM_ADMINROOT) { xml += L" "EOL; From o2on-svn @ lists.sourceforge.jp Sun Mar 9 00:12:34 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 09 Mar 2008 00:12:34 +0900 Subject: [o2on-svn] =?utf-8?b?WzM3XSAgVkMgRXhwcmVzc+WQkeOBkeWkieabtA==?= Message-ID: <1204989154.103147.27869.nullmailer@users.sourceforge.jp> Revision: 37 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=37 Author: k-uehara Date: 2008-03-09 00:12:33 +0900 (Sun, 09 Mar 2008) Log Message: ----------- VC Express向け変更 x64およびbrowser廃止 Modified Paths: -------------- trunk/o2on/o2on.sln Modified: trunk/o2on/o2on.sln =================================================================== --- trunk/o2on/o2on.sln 2008-03-06 05:52:31 UTC (rev 36) +++ trunk/o2on/o2on.sln 2008-03-08 15:12:33 UTC (rev 37) @@ -1,34 +1,18 @@ ? Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "browser", "src.browser\browser.vcproj", "{F47C52E1-DA14-44F2-B5F0-B53277FC7FC1}" -EndProject +# Visual C++ Express 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "o2on", "src.o2on\o2on.vcproj", "{3F4DDF03-06F2-4167-B272-57D58F42B95F}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 - Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {F47C52E1-DA14-44F2-B5F0-B53277FC7FC1}.Debug|Win32.ActiveCfg = Debug|Win32 - {F47C52E1-DA14-44F2-B5F0-B53277FC7FC1}.Debug|Win32.Build.0 = Debug|Win32 - {F47C52E1-DA14-44F2-B5F0-B53277FC7FC1}.Debug|x64.ActiveCfg = Debug|x64 - {F47C52E1-DA14-44F2-B5F0-B53277FC7FC1}.Debug|x64.Build.0 = Debug|x64 - {F47C52E1-DA14-44F2-B5F0-B53277FC7FC1}.Release|Win32.ActiveCfg = Release|Win32 - {F47C52E1-DA14-44F2-B5F0-B53277FC7FC1}.Release|Win32.Build.0 = Release|Win32 - {F47C52E1-DA14-44F2-B5F0-B53277FC7FC1}.Release|x64.ActiveCfg = Release|x64 - {F47C52E1-DA14-44F2-B5F0-B53277FC7FC1}.Release|x64.Build.0 = Release|x64 {3F4DDF03-06F2-4167-B272-57D58F42B95F}.Debug|Win32.ActiveCfg = Debug|Win32 {3F4DDF03-06F2-4167-B272-57D58F42B95F}.Debug|Win32.Build.0 = Debug|Win32 - {3F4DDF03-06F2-4167-B272-57D58F42B95F}.Debug|x64.ActiveCfg = Debug|x64 - {3F4DDF03-06F2-4167-B272-57D58F42B95F}.Debug|x64.Build.0 = Debug|x64 {3F4DDF03-06F2-4167-B272-57D58F42B95F}.Release|Win32.ActiveCfg = Release|Win32 {3F4DDF03-06F2-4167-B272-57D58F42B95F}.Release|Win32.Build.0 = Release|Win32 - {3F4DDF03-06F2-4167-B272-57D58F42B95F}.Release|x64.ActiveCfg = Release|x64 - {3F4DDF03-06F2-4167-B272-57D58F42B95F}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From o2on-svn @ lists.sourceforge.jp Sun Mar 9 00:27:51 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 09 Mar 2008 00:27:51 +0900 Subject: [o2on-svn] =?utf-8?b?WzM4XSBzcWxpdGUtMy41LiA244Gu5pu05paw?= Message-ID: <1204990071.855336.2908.nullmailer@users.sourceforge.jp> Revision: 38 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=38 Author: k-uehara Date: 2008-03-09 00:27:51 +0900 (Sun, 09 Mar 2008) Log Message: ----------- sqlite-3.5.6の更新 パスを ../../sqlite に変更 Modified Paths: -------------- trunk/o2on/src.o2on/o2on.vcproj Modified: trunk/o2on/src.o2on/o2on.vcproj =================================================================== --- trunk/o2on/src.o2on/o2on.vcproj 2008-03-08 15:12:33 UTC (rev 37) +++ trunk/o2on/src.o2on/o2on.vcproj 2008-03-08 15:27:51 UTC (rev 38) @@ -133,14 +133,13 @@ /> + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Revision: 39 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=39 Author: k-uehara Date: 2008-03-09 00:42:47 +0900 (Sun, 09 Mar 2008) Log Message: ----------- VC Express向け インクルードライブラリの追加 sqlite一部更新漏れ Modified Paths: -------------- trunk/o2on/src.o2on/o2on.vcproj Modified: trunk/o2on/src.o2on/o2on.vcproj =================================================================== --- trunk/o2on/src.o2on/o2on.vcproj 2008-03-08 15:27:51 UTC (rev 38) +++ trunk/o2on/src.o2on/o2on.vcproj 2008-03-08 15:42:47 UTC (rev 39) @@ -60,7 +60,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" WholeProgramOptimization="true" - AdditionalIncludeDirectories="..\..\sqlite.3.3.12" + AdditionalIncludeDirectories="..\..\sqlite" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;PROJ_SAX2;XML_LIBRARY" StringPooling="false" RuntimeLibrary="0" @@ -90,7 +90,7 @@ /> Revision: 40 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=40 Author: k-uehara Date: 2008-03-09 01:20:57 +0900 (Sun, 09 Mar 2008) Log Message: ----------- Added Paths: ----------- tags/ From o2on-svn @ lists.sourceforge.jp Sun Mar 9 01:22:06 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 09 Mar 2008 01:22:06 +0900 Subject: [o2on-svn] [41] Message-ID: <1204993326.417822.32378.nullmailer@users.sourceforge.jp> Revision: 41 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=41 Author: k-uehara Date: 2008-03-09 01:22:06 +0900 (Sun, 09 Mar 2008) Log Message: ----------- Added Paths: ----------- branches/ From o2on-svn @ lists.sourceforge.jp Sun Mar 9 01:23:24 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 09 Mar 2008 01:23:24 +0900 Subject: [o2on-svn] =?utf-8?b?WzQyXSAg44OI44Os44Kk44Ki44Kk44Kz44Oz44Gu44OB?= =?utf-8?b?44OD44OX44Gr6YCB5Y+X5L+h6YCf5bqm44KS6KGo56S6?= Message-ID: <1204993404.752101.32575.nullmailer@users.sourceforge.jp> Revision: 42 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=42 Author: k-uehara Date: 2008-03-09 01:23:24 +0900 (Sun, 09 Mar 2008) Log Message: ----------- トレイアイコンのチップに送受信速度を表示 デフォルトで全板をdat保存対象に設定する jkl-parsexml.jsのアップデート * 以下バグフィックス ブロードキャストメッセージのループ クォータが制限値を超えるとタスクトレイから操作できなくなる 管理画面でのSQL実行結果が1件少ない プロキシ使用時のハンドルリーク HTML化した過去ログをプロキシで取得時にgzip圧縮でdatが保存される Added Paths: ----------- tags/build0042/ Copied: tags/build0042 (from rev 22, trunk) From o2on-svn @ lists.sourceforge.jp Sun Mar 9 03:54:00 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 09 Mar 2008 03:54:00 +0900 Subject: [o2on-svn] =?utf-8?b?WzQzXSAg44Op44Kk44OW44Op44Oq44Gu44OQ44O844K4?= =?utf-8?b?44On44Oz44KS5aSJ5pu0?= Message-ID: <1205002440.525065.9782.nullmailer@users.sourceforge.jp> Revision: 43 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=43 Author: laxmi Date: 2008-03-09 03:54:00 +0900 (Sun, 09 Mar 2008) Log Message: ----------- ?????????????吾??潟?紊?? Modified Paths: -------------- trunk/o2on/doc/build.txt Modified: trunk/o2on/doc/build.txt =================================================================== --- trunk/o2on/doc/build.txt 2008-03-08 16:23:24 UTC (rev 42) +++ trunk/o2on/doc/build.txt 2008-03-08 18:54:00 UTC (rev 43) @@ -2,11 +2,11 @@ ?Visual C++ 2005 ?Platform SDK 2003 Server R2 -?Boost 1.33.1 -?Crypto++ Library 5.4 +?Boost 1.34.1 +?Crypto++ Library 5.5.2 ?zlib 1.2.3 -?Xerces-C++ 2.7.0 -?SQLite 3.3.12 +?Xerces-C++ 2.8.0 +?SQLite 3.5.6 @@ -51,33 +51,33 @@ ------------------------------------------------------------------------------ - Boost 1.33.1 + Boost 1.34.1 ------------------------------------------------------------------------------ http://sourceforge.net/project/showfiles.php?group_id=7586 -boost_1_33_1?boost-jam-3.1.13-1-ntx86.zip??????? +boost_1_34_1?boost-jam-3.1.16-1-ntx86.zip??????? -?boost_1_33_1?????????i??D:\project\boost_1_33_1? -?boost-jam-3.1.13-1-ntx86.zip??bjam.exe?boost_1_33_1??????? +?boost_1_34_1?????????i??D:\project\boost_1_34_1? +?boost-jam-3.1.16-1-ntx86.zip??bjam.exe?boost_1_34_1??????? ?bjam???? > D: - > cd D:\project\boost_1_33_1 + > cd D:\project\boost_1_34_1 > bjam "-sTOOLS=vc-8_0" stage ?Visual Studio???????????? - D:\project\boost_1_33_1 ? ????????????? - D:\project\boost_1_33_1\stage\lib ? ???????????? + D:\project\boost_1_34_1 ? ????????????? + D:\project\boost_1_34_1\stage\lib ? ???????????? [x64] ????????????????????????? > D: - > cd D:\project\boost_1_33_1_x64 + > cd D:\project\boost_1_34_1_x64 > bjam "-sTOOLS=vc-8_0-amd64" stage - D:\project\boost_1_33_1_x64 ? x64?????????????? - D:\project\boost_1_33_1_x64\stage\lib ? x64????????????? + D:\project\boost_1_34_1_x64 ? x64?????????????? + D:\project\boost_1_34_1_x64\stage\lib ? x64????????????? ------------------------------------------------------------------------------ - Crypto++ Library 5.4 + Crypto++ Library 5.5.2 ------------------------------------------------------------------------------ http://www.cryptopp.com/ @@ -110,12 +110,12 @@ ------------------------------------------------------------------------------ - Xerces-C++ 2.7.0 + Xerces-C++ 2.8.0 ------------------------------------------------------------------------------ http://xml.apache.org/xerces-c/download.cgi xerces-c-current.tar.gz -?xerces-c-src2_7_0\Projects\Win32\VC7.1\xerces-all\xerces-all.sln ??? +?xerces-c-src2_8_0\Projects\Win32\VC7.1\xerces-all\xerces-all.sln ??? ????????????u?????? ???????????????????????????? @@ -123,9 +123,9 @@ XercesLib Static Release Win32 Static Release|Win32 ?Visual Studio???????????? - xerces-c-src_2_7_0\src ? ????????????? - xerces-c-src_2_7_0\Build\Win32\VC7.1\StaticDebug ? ???????????? - xerces-c-src_2_7_0\Build\Win32\VC7.1\StaticRelease ? ???????????? + xerces-c-src_2_8_0\src ? ????????????? + xerces-c-src_2_8_0\Build\Win32\VC7.1\StaticDebug ? ???????????? + xerces-c-src_2_8_0\Build\Win32\VC7.1\StaticRelease ? ???????????? [x64] ???????????????????? @@ -139,17 +139,17 @@ XercesLib Static Debug x64 Static Debug|x64 XercesLib Static Release x64 Static Release|x64 ?Visual Studio???????????? - xerces-c-src_2_7_0\src ? ????????????? - xerces-c-src_2_7_0\Build\x64\VC7.1\StaticDebug ? ???????????? - xerces-c-src_2_7_0\Build\x64\VC7.1\StaticRelease ? ???????????? + xerces-c-src_2_8_0\src ? ????????????? + xerces-c-src_2_8_0\Build\x64\VC7.1\StaticDebug ? ???????????? + xerces-c-src_2_8_0\Build\x64\VC7.1\StaticRelease ? ???????????? ------------------------------------------------------------------------------ - SQLite 3.3.12 + SQLite 3.5.6 ------------------------------------------------------------------------------ http://www.sqlite.org/index.html -?sqlite-source-3_3_12.zip ???????????? -??????????sqlite.3.3.12?????o2on???????? +?sqlite-source-3_5_6.zip ???????????? +??????????sqlite?????o2on???????? +-o2on +-cryptopp +-zlib - +-sqlite.3.3.12 + +-sqlite From o2on-svn @ lists.sourceforge.jp Sun Mar 9 13:18:59 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 09 Mar 2008 13:18:59 +0900 Subject: [o2on-svn] =?utf-8?b?WzQ0XSAg44OV44Kh44Kk44Or5ZCN562J44Gu5pu05paw?= Message-ID: <1205036339.469825.29687.nullmailer@users.sourceforge.jp> Revision: 44 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=44 Author: k-uehara Date: 2008-03-09 13:18:59 +0900 (Sun, 09 Mar 2008) Log Message: ----------- ????ゃ????????? Modified Paths: -------------- trunk/o2on/doc/build.txt Modified: trunk/o2on/doc/build.txt =================================================================== --- trunk/o2on/doc/build.txt 2008-03-08 18:54:00 UTC (rev 43) +++ trunk/o2on/doc/build.txt 2008-03-09 04:18:59 UTC (rev 44) @@ -19,7 +19,7 @@ Visual Studio 2005????????????????Express???????? ???Expres????????????????Win32 Release???????????? -http://www.microsoft.com/japan/msdn/vstudio/express/visualc/ +http://www.microsoft.com/japan/msdn/vstudio/express/past/2005/ http://www.microsoft.com/japan/msdn/vstudio/express/maninstall/ (ISO????) ????????????????????@@ -113,10 +113,9 @@ Xerces-C++ 2.8.0 ------------------------------------------------------------------------------ http://xml.apache.org/xerces-c/download.cgi -xerces-c-current.tar.gz +xerces-c-src_2_8_0.zip -?xerces-c-src2_8_0\Projects\Win32\VC7.1\xerces-all\xerces-all.sln ??? -????????????u?????? +?xerces-c-src2_8_0\Projects\Win32\VC8\xerces-all\xerces-all.sln ??? ???????????????????????????? XercesLib Static Debug Win32 Static Debug|Win32 @@ -124,8 +123,8 @@ ?Visual Studio???????????? xerces-c-src_2_8_0\src ? ????????????? - xerces-c-src_2_8_0\Build\Win32\VC7.1\StaticDebug ? ???????????? - xerces-c-src_2_8_0\Build\Win32\VC7.1\StaticRelease ? ???????????? + xerces-c-src_2_8_0\Build\Win32\VC8\StaticDebug ? ???????????? + xerces-c-src_2_8_0\Build\Win32\VC8\StaticRelease ? ???????????? [x64] ???????????????????? @@ -140,14 +139,14 @@ XercesLib Static Release x64 Static Release|x64 ?Visual Studio???????????? xerces-c-src_2_8_0\src ? ????????????? - xerces-c-src_2_8_0\Build\x64\VC7.1\StaticDebug ? ???????????? - xerces-c-src_2_8_0\Build\x64\VC7.1\StaticRelease ? ???????????? + xerces-c-src_2_8_0\Build\x64\VC8\StaticDebug ? ???????????? + xerces-c-src_2_8_0\Build\x64\VC8\StaticRelease ? ???????????? ------------------------------------------------------------------------------ SQLite 3.5.6 ------------------------------------------------------------------------------ http://www.sqlite.org/index.html -?sqlite-source-3_5_6.zip ???????????? +?sqlite-3_5_6.zip ???????????? ??????????sqlite?????o2on???????? +-o2on +-cryptopp From o2on-svn @ lists.sourceforge.jp Sun Mar 9 17:28:29 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 09 Mar 2008 17:28:29 +0900 Subject: [o2on-svn] =?utf-8?b?WzQ1XSBGSVg6ICDplovlp4vjgr/jgrDlv5jjgow=?= Message-ID: <1205051309.938568.31844.nullmailer@users.sourceforge.jp> Revision: 45 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=45 Author: k-uehara Date: 2008-03-09 17:28:29 +0900 (Sun, 09 Mar 2008) Log Message: ----------- FIX: 開始タグ忘れ http://pc11.2ch.net/test/read.cgi/tech/1180440415/511 Modified Paths: -------------- trunk/o2on/src.o2on/O2DatIO.cpp Modified: trunk/o2on/src.o2on/O2DatIO.cpp =================================================================== --- trunk/o2on/src.o2on/O2DatIO.cpp 2008-03-09 04:18:59 UTC (rev 44) +++ trunk/o2on/src.o2on/O2DatIO.cpp 2008-03-09 08:28:29 UTC (rev 45) @@ -743,7 +743,7 @@ else { out += ""; + out += "\">"; out += token[0]; out += ""; } From o2on-svn @ lists.sourceforge.jp Tue Mar 11 21:55:22 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Tue, 11 Mar 2008 21:55:22 +0900 Subject: [o2on-svn] =?utf-8?b?WzQ2XSAgYnVpbGQwMDQzIOeUqOODluODqeODs+ODgQ==?= Message-ID: <1205240122.502185.21683.nullmailer@users.sourceforge.jp> Revision: 46 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=46 Author: k-uehara Date: 2008-03-11 21:55:22 +0900 (Tue, 11 Mar 2008) Log Message: ----------- build0043 用ブランチ Added Paths: ----------- branches/PRE_0043/ Copied: branches/PRE_0043 (from rev 45, trunk) From o2on-svn @ lists.sourceforge.jp Fri Mar 14 23:42:08 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Fri, 14 Mar 2008 23:42:08 +0900 Subject: [o2on-svn] =?utf-8?b?WzQ3XSAg6KSH5pWwZGF044OV44Kp44Or44OA5qmf6IO9?= =?utf-8?b?6L+95YqgIChPMlByb2ZpbGUp?= Message-ID: <1205505728.182372.13804.nullmailer@users.sourceforge.jp> Revision: 47 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=47 Author: k-uehara Date: 2008-03-14 23:42:07 +0900 (Fri, 14 Mar 2008) Log Message: ----------- 複数datフォルダ機能追加(O2Profile) Modified Paths: -------------- trunk/o2on/src.o2on/O2Profile.cpp trunk/o2on/src.o2on/O2Profile.h Modified: trunk/o2on/src.o2on/O2Profile.cpp =================================================================== --- trunk/o2on/src.o2on/O2Profile.cpp 2008-03-11 12:55:22 UTC (rev 46) +++ trunk/o2on/src.o2on/O2Profile.cpp 2008-03-14 14:42:07 UTC (rev 47) @@ -579,7 +579,49 @@ +/* + * ClearCacheFolders() + * AppendCacheFolder() + * GetCacheFoldersA() + * GetCacheFoldersW() + * + */ +void +O2Profile:: +ClearCacheFolders(void) +{ + CacheFoldersA.clear(); + CacheFoldersW.clear(); +} +int +O2Profile:: +AppendCacheFolder(const wchar_t *path) +{ + string pathA; + wstring pathW = path; + CacheFoldersW.push_back(path); + if (pathW[pathW.size()-1] == L'\\') + pathW.erase(pathW.size()-1); + if (FromUnicode(L"shift_jis", pathW, pathA)) + CacheFoldersA.push_back(pathA); + return CacheFoldersW.size(); +} +const strarray +*O2Profile:: +GetCacheFoldersA(void) const +{ + return &CacheFoldersA; +} +const wstrarray +*O2Profile:: +GetCacheFoldersW(void) const +{ + return &CacheFoldersW; +} + + + /* * SetAdminRoot() * GetAdminRootA() @@ -1254,6 +1296,16 @@ xml += L"]]>"EOL; } + //CacheFolder + if (cond.mask & PROF_XMLELM_CACHEFOLDER) { + wstrarray::iterator it; + for (it = CacheFoldersW.begin(); it != CacheFoldersW.end(); it++){ + xml += L" "EOL; + } + } + //AdminRoot if (cond.mask & PROF_XMLELM_ADMINROOT) { xml += L" SetCacheRoot(str.c_str()); break; + case PROF_XMLELM_CACHEFOLDER: + str.assign(chars, length); + Profile->AppendCacheFolder(str.c_str()); + break; case PROF_XMLELM_ADMINROOT: str.assign(chars, length); Profile->SetAdminRoot(str.c_str()); Modified: trunk/o2on/src.o2on/O2Profile.h =================================================================== --- trunk/o2on/src.o2on/O2Profile.h 2008-03-11 12:55:22 UTC (rev 46) +++ trunk/o2on/src.o2on/O2Profile.h 2008-03-14 14:42:07 UTC (rev 47) @@ -41,6 +41,7 @@ #define PROF_XMLELM_LIMIT 0x00080000 #define PROF_XMLELM_BOOL 0x00100000 #define PROF_XMLELM_SIZE_T 0x00200000 +#define PROF_XMLELM_CACHEFOLDER 0x00400000 #define PROF_XMLELM_COMMON 0x000000ff #define PROF_XMLELM_ALL 0x0fffffff @@ -104,6 +105,8 @@ wstring CacheRootW; string AdminRootA; wstring AdminRootW; + strarray CacheFoldersA; + wstrarray CacheFoldersW; wstring ProfileFilePath; wstring NodeFilePath; @@ -209,6 +212,11 @@ const wchar_t *GetCacheRootW(void) const; bool MakeCacheRoot(void); + void ClearCacheFolders(void); + int AppendCacheFolder(const wchar_t *path); + const strarray *GetCacheFoldersA(void) const; + const wstrarray *GetCacheFoldersW(void) const; + void SetAdminRoot(const wchar_t *path); const char *GetAdminRootA(void) const; const wchar_t *GetAdminRootW(void) const; @@ -308,7 +316,7 @@ // -// O2NodeDB_SAX2Handler +// O2Profile_SAX2Handler // class O2Profile_SAX2Handler : public SAX2Handler From o2on-svn @ lists.sourceforge.jp Sun Mar 16 01:37:46 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 16 Mar 2008 01:37:46 +0900 Subject: [o2on-svn] =?utf-8?b?WzQ4XSBGSVg6IFVQblDjg4fjg5DjgqTjgrnmpJzntKI=?= =?utf-8?b?5pmC44Gr5b+F44GaICgg44Kw44Ot44O844OQ44OrSVDkuI3mmI4gKSDjgas=?= =?utf-8?b?44Gq44KL5Lu2?= Message-ID: <1205599066.776325.24039.nullmailer@users.sourceforge.jp> Revision: 48 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=48 Author: laxmi Date: 2008-03-16 01:37:46 +0900 (Sun, 16 Mar 2008) Log Message: ----------- FIX:UPnPデバイス検索時に必ず(グローバルIP不明)になる件 Modified Paths: -------------- trunk/o2on/src.o2on/upnp_description.h Modified: trunk/o2on/src.o2on/upnp_description.h =================================================================== --- trunk/o2on/src.o2on/upnp_description.h 2008-03-14 14:42:07 UTC (rev 47) +++ trunk/o2on/src.o2on/upnp_description.h 2008-03-15 16:37:46 UTC (rev 48) @@ -684,6 +684,12 @@ if (cur_argument && cur_argument->direction != "out") cur_argument = NULL; } + else if(wcsncmp(qname, L"NewExternalIPAddress",20) == 0){ + cur_action = service->getAction("GetExternalIPAddress"); + if(cur_action) + cur_argument = cur_action->getArgument("NewExternalIPAddress"); + cur_action = NULL; + } } void endElement(const XMLCh* const uri From o2on-svn @ lists.sourceforge.jp Sun Mar 16 06:32:18 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 16 Mar 2008 06:32:18 +0900 Subject: [o2on-svn] =?utf-8?b?WzQ5XSBGSVg6ICBTUUzjgqjjg6njg7zjgasgJyUnIA==?= =?utf-8?b?44GM5ZCr44G+44KM44KL44Go6JC944Gh44KL?= Message-ID: <1205616738.826935.31979.nullmailer@users.sourceforge.jp> Revision: 49 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=49 Author: k-uehara Date: 2008-03-16 06:32:17 +0900 (Sun, 16 Mar 2008) Log Message: ----------- FIX: SQLエラーに'%'が含まれると落ちる Modified Paths: -------------- branches/PRE_0043/o2on/src.o2on/O2DatDB.cpp Modified: branches/PRE_0043/o2on/src.o2on/O2DatDB.cpp =================================================================== --- branches/PRE_0043/o2on/src.o2on/O2DatDB.cpp 2008-03-15 16:37:46 UTC (rev 48) +++ branches/PRE_0043/o2on/src.o2on/O2DatDB.cpp 2008-03-15 21:32:17 UTC (rev 49) @@ -61,7 +61,7 @@ O2DatDB:: log(sqlite3 *db) { - Logger->AddLog(O2LT_ERROR, L"SQLite", 0, 0, sqlite3_errmsg(db)); + Logger->AddLog(O2LT_ERROR, L"SQLite", 0, 0, "%s", sqlite3_errmsg(db)); } From o2on-svn @ lists.sourceforge.jp Sun Mar 16 06:39:30 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 16 Mar 2008 06:39:30 +0900 Subject: [o2on-svn] =?utf-8?b?WzUwXSBGSVg6IFVQblDjg4DjgqTjgqLjg63jgrDjgac=?= =?utf-8?b?6aCF55uu5pyq6YG45oqe5pmC44Gr44KC44Oc44K/44Oz44GM5oq844Gb44KL?= Message-ID: <1205617170.303998.4131.nullmailer@users.sourceforge.jp> Revision: 50 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=50 Author: laxmi Date: 2008-03-16 06:39:30 +0900 (Sun, 16 Mar 2008) Log Message: ----------- FIX:UPnP????≪??違?????????????????潟??若??? Modified Paths: -------------- branches/PRE_0043/o2on/src.o2on/main.cpp Modified: branches/PRE_0043/o2on/src.o2on/main.cpp =================================================================== --- branches/PRE_0043/o2on/src.o2on/main.cpp 2008-03-15 21:32:17 UTC (rev 49) +++ branches/PRE_0043/o2on/src.o2on/main.cpp 2008-03-15 21:39:30 UTC (rev 50) @@ -2006,20 +2006,29 @@ case IDC_NICLIST: if (HIWORD(wp) == LBN_SELCHANGE) { HWND hwndList = GD(hwnd, IDC_NICLIST); - IP_ADAPTER_INFO *p = (IP_ADAPTER_INFO*)ListBox_GetItemData(hwndList, - ListBox_GetCurSel(hwndList)); - testparam.ip = inet_addr(p->IpAddressList.IpAddress.String); - EnableWindow(GD(hwnd, IDC_SEARCHIGD), TRUE); + int index = ListBox_GetCurSel(hwndList); + if (index != LB_ERR) { + IP_ADAPTER_INFO *p = (IP_ADAPTER_INFO*)ListBox_GetItemData(hwndList, index); + testparam.ip = inet_addr(p->IpAddressList.IpAddress.String); + EnableWindow(GD(hwnd, IDC_SEARCHIGD), TRUE); + } } return TRUE; case IDC_SERVICELIST: - if (HIWORD(wp) == LBN_SELCHANGE) - EnableWindow(GD(hwnd, IDOK), TRUE); + if (HIWORD(wp) == LBN_SELCHANGE) { + int index = ListBox_GetCurSel(GD(hwnd, IDC_SERVICELIST)); + if (index != LB_ERR) + EnableWindow(GD(hwnd, IDOK), TRUE); + } return TRUE; case IDC_SEARCHIGD: PostMessage(hwnd, UM_UPNP_START_TEST, 0, 0); return TRUE; case IDOK: { + //???? //1,ListBox_GetCurSel(GD(hwnd, IDC_NICLIST)) != LB_ERR + //2,ListBox_GetCurSel(GD(hwnd, IDC_SERVICELIST)) != LB_ERR + HWND hwndList = GD(hwnd, IDC_NICLIST); IP_ADAPTER_INFO *p = (IP_ADAPTER_INFO*)ListBox_GetItemData(hwndList, ListBox_GetCurSel(hwndList)); From o2on-svn @ lists.sourceforge.jp Sun Mar 16 07:33:29 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 16 Mar 2008 07:33:29 +0900 Subject: [o2on-svn] =?utf-8?b?WzUxXSAg44OH44OV44Kp44Or44OI44Gu44OO44O844OJ?= =?utf-8?b?44K144Kk44OIVVJM5aSJ5pu0?= Message-ID: <1205620409.932531.13520.nullmailer@users.sourceforge.jp> Revision: 51 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=51 Author: k-uehara Date: 2008-03-16 07:33:29 +0900 (Sun, 16 Mar 2008) Log Message: ----------- デフォルトのノードサイトURL変更 Modified Paths: -------------- branches/PRE_0043/o2on/admin/main.html Modified: branches/PRE_0043/o2on/admin/main.html =================================================================== --- branches/PRE_0043/o2on/admin/main.html 2008-03-15 21:39:30 UTC (rev 50) +++ branches/PRE_0043/o2on/admin/main.html 2008-03-15 22:33:29 UTC (rev 51) @@ -51,7 +51,7 @@
URL: - + 自ノード登録
From o2on-svn @ lists.sourceforge.jp Sun Mar 16 08:16:30 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 16 Mar 2008 08:16:30 +0900 Subject: [o2on-svn] =?utf-8?b?WzUyXSAg44Kr44K544K/44Og44OT44Or44OJ44K544OG?= =?utf-8?b?44OD44OX5pu05paw?= Message-ID: <1205622990.343663.11428.nullmailer@users.sourceforge.jp> Revision: 52 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=52 Author: k-uehara Date: 2008-03-16 08:16:30 +0900 (Sun, 16 Mar 2008) Log Message: ----------- カスタムビルドステップ更新 mzp upx のパス変更(o2onフォルダと同じ場所に) browser削除 Modified Paths: -------------- branches/PRE_0043/o2on/src.o2on/o2on.vcproj Modified: branches/PRE_0043/o2on/src.o2on/o2on.vcproj =================================================================== --- branches/PRE_0043/o2on/src.o2on/o2on.vcproj 2008-03-15 22:33:29 UTC (rev 51) +++ branches/PRE_0043/o2on/src.o2on/o2on.vcproj 2008-03-15 23:16:30 UTC (rev 52) @@ -33,7 +33,7 @@ /> From o2on-svn @ lists.sourceforge.jp Sun Mar 16 08:18:36 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 16 Mar 2008 08:18:36 +0900 Subject: [o2on-svn] =?utf-8?b?WzUzXSAg44OJ44Kt44Ol44Oh44Oz44OI5pu05paw?= Message-ID: <1205623116.052264.13055.nullmailer@users.sourceforge.jp> Revision: 53 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=53 Author: k-uehara Date: 2008-03-16 08:18:35 +0900 (Sun, 16 Mar 2008) Log Message: ----------- ????ャ??潟??贋? Modified Paths: -------------- branches/PRE_0043/o2on/doc/history.txt branches/PRE_0043/o2on/doc/license.txt Modified: branches/PRE_0043/o2on/doc/history.txt =================================================================== --- branches/PRE_0043/o2on/doc/history.txt 2008-03-15 23:16:30 UTC (rev 52) +++ branches/PRE_0043/o2on/doc/history.txt 2008-03-15 23:18:35 UTC (rev 53) @@ -1,3 +1,15 @@ +v0.02? (build 0043) 2008/ +??????????I???????? +???????????????? + - Boost 1.34.1 + - Crypto++ Library 5.5.2 + - Xerces-C++ 2.8.0 + - SQLite 3.5.6 +* ??????? +UPnP??? +dat?HTML??? +????????????? v0.02? (build 0042) 2007/06/26 ????????????????????ヲ ??????????dat????????? Modified: branches/PRE_0043/o2on/doc/license.txt =================================================================== --- branches/PRE_0043/o2on/doc/license.txt 2008-03-15 23:16:30 UTC (rev 52) +++ branches/PRE_0043/o2on/doc/license.txt 2008-03-15 23:18:35 UTC (rev 53) @@ -1,4 +1,4 @@ -Copyright (c) 2007, o2on project +Copyright (c) 2007-2008, o2on project All rights reserved. From o2on-svn @ lists.sourceforge.jp Sun Mar 16 14:26:52 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 16 Mar 2008 14:26:52 +0900 Subject: [o2on-svn] =?utf-8?b?WzU0XSAgVVBY44Gu6KiY6L+w44KS6L+95Yqg?= Message-ID: <1205645212.505221.9545.nullmailer@users.sourceforge.jp> Revision: 54 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=54 Author: laxmi Date: 2008-03-16 14:26:52 +0900 (Sun, 16 Mar 2008) Log Message: ----------- UPX???菴違?菴遵? Modified Paths: -------------- branches/PRE_0043/o2on/doc/build.txt Modified: branches/PRE_0043/o2on/doc/build.txt =================================================================== --- branches/PRE_0043/o2on/doc/build.txt 2008-03-15 23:18:35 UTC (rev 53) +++ branches/PRE_0043/o2on/doc/build.txt 2008-03-16 05:26:52 UTC (rev 54) @@ -7,10 +7,10 @@ ?zlib 1.2.3 ?Xerces-C++ 2.8.0 ?SQLite 3.5.6 +?UPX 3.02 - ??????F ------------------------------------------------------------------------------ @@ -152,3 +152,15 @@ +-cryptopp +-zlib +-sqlite +------------------------------------------------------------------------------ + UPX 3.02 +------------------------------------------------------------------------------ +http://upx.sourceforge.net/#download +upx302w.zip???????? + +?upx302w.zip??upx.exe?o2on???????? + +-o2on + +-cryptopp + +-zlib + +-sqlite + +-upx.exe From o2on-svn @ lists.sourceforge.jp Sun Mar 16 15:07:27 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 16 Mar 2008 15:07:27 +0900 Subject: [o2on-svn] =?utf-8?b?WzU1XSAg44Kr44K544K/44Og44OT44Or44OJ44K544OG?= =?utf-8?b?44OD44OX5pu05paw?= Message-ID: <1205647647.600293.4822.nullmailer@users.sourceforge.jp> Revision: 55 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=55 Author: k-uehara Date: 2008-03-16 15:07:27 +0900 (Sun, 16 Mar 2008) Log Message: ----------- カスタムビルドステップ更新 license.txtの記述を追加 Modified Paths: -------------- branches/PRE_0043/o2on/src.o2on/o2on.vcproj Modified: branches/PRE_0043/o2on/src.o2on/o2on.vcproj =================================================================== --- branches/PRE_0043/o2on/src.o2on/o2on.vcproj 2008-03-16 05:26:52 UTC (rev 54) +++ branches/PRE_0043/o2on/src.o2on/o2on.vcproj 2008-03-16 06:07:27 UTC (rev 55) @@ -33,7 +33,7 @@ /> From o2on-svn @ lists.sourceforge.jp Sun Mar 16 20:17:57 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 16 Mar 2008 20:17:57 +0900 Subject: [o2on-svn] =?utf-8?b?WzU2XSAg44OT44Or44OJ44Gr6Zqb44GX44Gm5pW055CG?= Message-ID: <1205666277.321523.4214.nullmailer@users.sourceforge.jp> Revision: 56 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=56 Author: k-uehara Date: 2008-03-16 20:17:56 +0900 (Sun, 16 Mar 2008) Log Message: ----------- ??????????????zlib????潟????????鴻?菴遵? ????潟??????mzp??????菴遵? Modified Paths: -------------- branches/PRE_0043/o2on/doc/build.txt branches/PRE_0043/o2on/doc/history.txt branches/PRE_0043/o2on/src.o2on/O2DatDB.cpp branches/PRE_0043/o2on/src.o2on/O2IMDB.cpp branches/PRE_0043/o2on/src.o2on/o2on.vcproj Modified: branches/PRE_0043/o2on/doc/build.txt =================================================================== --- branches/PRE_0043/o2on/doc/build.txt 2008-03-16 06:07:27 UTC (rev 55) +++ branches/PRE_0043/o2on/doc/build.txt 2008-03-16 11:17:56 UTC (rev 56) @@ -8,6 +8,7 @@ ?Xerces-C++ 2.8.0 ?SQLite 3.5.6 ?UPX 3.02 +?MiniZip Ver0.02c @@ -106,7 +107,6 @@ +-o2on +-cryptopp +-zlib -????????????????????? ------------------------------------------------------------------------------ @@ -152,6 +152,7 @@ +-cryptopp +-zlib +-sqlite + ------------------------------------------------------------------------------ UPX 3.02 ------------------------------------------------------------------------------ @@ -164,3 +165,17 @@ +-zlib +-sqlite +-upx.exe + +------------------------------------------------------------------------------ + MiniZip Ver0.02c +------------------------------------------------------------------------------ +http://hp.vector.co.jp/authors/VA022275/lab/mzp.html +mzp002c.zip??????? + +?mzp002c.zip??mzp.exe?o2on???????? + +-o2on + +-cryptopp + +-zlib + +-sqlite + +-upx.exe + +-mzp.exe \ No newline at end of file Modified: branches/PRE_0043/o2on/doc/history.txt =================================================================== --- branches/PRE_0043/o2on/doc/history.txt 2008-03-16 06:07:27 UTC (rev 55) +++ branches/PRE_0043/o2on/doc/history.txt 2008-03-16 11:17:56 UTC (rev 56) @@ -6,9 +6,9 @@ - Xerces-C++ 2.8.0 - SQLite 3.5.6 * ??????? -UPnP??? -dat?HTML??? -??????????????UPnP??? +?dat?HTML??? +?????????????? v0.02? (build 0042) 2007/06/26 ????????????????????ヲ Modified: branches/PRE_0043/o2on/src.o2on/O2DatDB.cpp =================================================================== --- branches/PRE_0043/o2on/src.o2on/O2DatDB.cpp 2008-03-16 06:07:27 UTC (rev 55) +++ branches/PRE_0043/o2on/src.o2on/O2DatDB.cpp 2008-03-16 11:17:56 UTC (rev 56) @@ -14,6 +14,7 @@ #include #include "dataconv.h" #include "stopwatch.h" +#include #define UPDATE_THREAD_INTERVAL_S 15 Modified: branches/PRE_0043/o2on/src.o2on/O2IMDB.cpp =================================================================== --- branches/PRE_0043/o2on/src.o2on/O2IMDB.cpp 2008-03-16 06:07:27 UTC (rev 55) +++ branches/PRE_0043/o2on/src.o2on/O2IMDB.cpp 2008-03-16 11:17:56 UTC (rev 56) @@ -14,6 +14,7 @@ #include "dataconv.h" #include #include +#include #define MODULE L"IMDB" #define MIN_RECORDS 1 Modified: branches/PRE_0043/o2on/src.o2on/o2on.vcproj =================================================================== --- branches/PRE_0043/o2on/src.o2on/o2on.vcproj 2008-03-16 06:07:27 UTC (rev 55) +++ branches/PRE_0043/o2on/src.o2on/o2on.vcproj 2008-03-16 11:17:56 UTC (rev 56) @@ -33,7 +33,7 @@ /> @@ -60,7 +60,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" WholeProgramOptimization="true" - AdditionalIncludeDirectories="..\..\sqlite" + AdditionalIncludeDirectories="..\..\sqlite;..\..\zlib" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;PROJ_SAX2;XML_LIBRARY" StringPooling="false" RuntimeLibrary="0" @@ -166,7 +166,7 @@ Revision: 57 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=57 Author: k-uehara Date: 2008-03-17 00:31:08 +0900 (Mon, 17 Mar 2008) Log Message: ----------- build 0043 ????若? Modified Paths: -------------- branches/PRE_0043/o2on/doc/history.txt branches/PRE_0043/o2on/src.o2on/O2Version.h Modified: branches/PRE_0043/o2on/doc/history.txt =================================================================== --- branches/PRE_0043/o2on/doc/history.txt 2008-03-16 11:17:56 UTC (rev 56) +++ branches/PRE_0043/o2on/doc/history.txt 2008-03-16 15:31:08 UTC (rev 57) @@ -1,4 +1,4 @@ -v0.02? (build 0043) 2008/ +v0.02? (build 0043) 2008/03/17 ??????????I???????? ???????????????? - Boost 1.34.1 Modified: branches/PRE_0043/o2on/src.o2on/O2Version.h =================================================================== --- branches/PRE_0043/o2on/src.o2on/O2Version.h 2008-03-16 11:17:56 UTC (rev 56) +++ branches/PRE_0043/o2on/src.o2on/O2Version.h 2008-03-16 15:31:08 UTC (rev 57) @@ -4,7 +4,7 @@ #define APP_NAME "o2on" #define APP_VER_MAJOR 0 #define APP_VER_MINOR 2 -#define APP_BUILDNO 42 +#define APP_BUILDNO 43 #define APP_VER_PREFIX "alpha" #define APP_VER_FORMAT "%s %1d.%02d %s (build %04d)" #define USERAGENT_FORMAT "%s/%.1f (%s/%1d.%02d.%04d; %s)" \ No newline at end of file From o2on-svn @ lists.sourceforge.jp Mon Mar 17 00:51:18 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Mon, 17 Mar 2008 00:51:18 +0900 Subject: [o2on-svn] =?utf-8?b?WzU4XSAg44O75YaF6JS144OW44Op44Km44K25buD5q2i?= =?utf-8?b?772l44Kq44OX44K344On44Oz44Gu54Sh5Yq55YyW?= Message-ID: <1205682678.281763.10588.nullmailer@users.sourceforge.jp> Revision: 58 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=58 Author: k-uehara Date: 2008-03-17 00:51:18 +0900 (Mon, 17 Mar 2008) Log Message: ----------- ・内蔵ブラウザ廃止・オプションの無効化 ・使用ライブラリバージョンアップ - Boost 1.34.1 - Crypto++ Library 5.5.2 - Xerces-C++ 2.8.0 - SQLite 3.5.6 * バグフィックス ・UPnPまわり ・datのHTML変換部 ・検索クエリが消えてしまう件 Added Paths: ----------- tags/build0043/ Copied: tags/build0043 (from rev 57, branches/PRE_0043) From o2on-svn @ lists.sourceforge.jp Mon Mar 17 19:53:24 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Mon, 17 Mar 2008 19:53:24 +0900 Subject: [o2on-svn] =?utf-8?b?WzU5XSAgYnVpbGQgMDA0MyDjg6rjg6rjg7zjgrnlvow=?= =?utf-8?b?44GuYnVnIGZpeOOBr+OBk+OBoeOCieOBuA==?= Message-ID: <1205751204.908062.1083.nullmailer@users.sourceforge.jp> Revision: 59 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=59 Author: k-uehara Date: 2008-03-17 19:53:24 +0900 (Mon, 17 Mar 2008) Log Message: ----------- build 0043 リリース後のbug fixはこちらへ Added Paths: ----------- branches/BRANCH_0043/ Removed Paths: ------------- branches/PRE_0043/ Copied: branches/BRANCH_0043 (from rev 58, branches/PRE_0043) From o2on-svn @ lists.sourceforge.jp Tue Mar 18 01:12:30 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Tue, 18 Mar 2008 01:12:30 +0900 Subject: [o2on-svn] =?utf-8?b?WzYwXSAg6KSH5pWwZGF044OV44Kp44Or44OA5qmf6IO9?= =?utf-8?b?6L+95YqgIChPMkRhdElPKQ==?= Message-ID: <1205770350.072306.12305.nullmailer@users.sourceforge.jp> Revision: 60 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=60 Author: k-uehara Date: 2008-03-18 01:12:29 +0900 (Tue, 18 Mar 2008) Log Message: ----------- 複数datフォルダ機能追加(O2DatIO) Modified Paths: -------------- trunk/o2on/src.o2on/O2DatIO.cpp Modified: trunk/o2on/src.o2on/O2DatIO.cpp =================================================================== --- trunk/o2on/src.o2on/O2DatIO.cpp 2008-03-17 10:53:24 UTC (rev 59) +++ trunk/o2on/src.o2on/O2DatIO.cpp 2008-03-17 16:12:29 UTC (rev 60) @@ -246,8 +246,20 @@ O2DatIO:: GetTitle(O2DatPath &datpath) { - wstring path; + wstrarray paths; + wstring path, cachef; + datpath.getpath(Profile->GetCacheRootW(), path); + if (_waccess(path.c_str(), 0) != 0) + { + paths = *Profile->GetCacheFoldersW(); + for (wstrarray::iterator it = paths.begin();it != paths.end(); it++) + { + datpath.getpath((*it).c_str(), path); + if (_waccess(path.c_str(), 0) == 0) + break; + } + } MappedFile mf; char *p = (char*)mf.open(path.c_str(), mf.allocG(), false); @@ -317,9 +329,21 @@ GetSize(const O2DatPath &datpath) { string path; + struct _stat st; + strarray paths; + strarray::iterator it; + + paths = *Profile->GetCacheFoldersA(); + for (it = paths.begin();it != paths.end(); it++) + { + datpath.getpath((*it).c_str(), path); + if (_stat(path.c_str(), &st) != -1) + return (st.st_size); + } + datpath.getpath(Profile->GetCacheRootA(), path); - struct _stat st; + if (_stat(path.c_str(), &st) == -1) return (0); @@ -342,9 +366,19 @@ struct _stat64 st; FILE *fp = NULL; - string path; + strarray paths; + string path, cachef; datpath.getpath(Profile->GetCacheRootA(), path); - + if (_access(path.c_str(), 0) != 0) + { + paths = *Profile->GetCacheFoldersA(); + for (strarray::iterator it = paths.begin();it != paths.end(); it++) + { + datpath.getpath((*it).c_str(), path); + if (_access(path.c_str(), 0) == 0) + break; + } + } if (_stat64(path.c_str(), &st) == -1) goto cleanup; @@ -403,24 +437,31 @@ O2DatPath datpath; wstring path; O2DatRec rec; + wstrarray paths(*Profile->GetCacheFoldersW()); + paths.push_back(Profile->GetAdminRootW()); + wstrarray::iterator arit; + bool deleted; for (it = hashlist.begin(); it != hashlist.end(); it++) { + deleted = false; if (!DatDB->select(rec, *it)) continue; datpath.set(rec.domain.c_str(), rec.bbsname.c_str(), rec.datname.c_str()); - datpath.getpath(Profile->GetCacheRootW(), path); + for (arit = paths.begin(); arit != paths.end(); arit++) { + datpath.getpath((*arit).c_str(), path); #if 1 - DWORD attr = GetFileAttributesW(path.c_str()); - if (attr != 0xFFFFFFFF && (attr & FILE_ATTRIBUTE_READONLY)) { - attr ^= FILE_ATTRIBUTE_READONLY; - SetFileAttributesW(path.c_str(), attr); + DWORD attr = GetFileAttributesW(path.c_str()); + if (attr != 0xFFFFFFFF && (attr & FILE_ATTRIBUTE_READONLY)) { + attr ^= FILE_ATTRIBUTE_READONLY; + SetFileAttributesW(path.c_str(), attr); + } +#endif + if (DeleteFile(path.c_str())) + deleted = true; } -#endif - if (!DeleteFile(path.c_str())) - continue; - - DatDB->remove(*it); + if (deleted) + DatDB->remove(*it); } return true; @@ -480,11 +521,18 @@ return (0); string path; + strarray paths = *Profile->GetCacheFoldersA(); + struct _stat64 st; + for (strarray::iterator it = paths.begin(); it != paths.end(); it++) { + datpath.getpath((*it).c_str(), path); + if (_stat64(path.c_str(), &st) == 0) + goto found; + } + datpath.getpath(Profile->GetCacheRootA(), path); if (!datpath.makedir(Profile->GetCacheRootA())) return false; - - struct _stat64 st; +found: //FILE *fp; strmap::const_iterator it; uint64 hokan_byte = 0; @@ -837,9 +885,13 @@ StaticRebuildDBThread(void *data) { O2DatIO *me = (O2DatIO*)data; + wstrarray cache(*me->Profile->GetCacheFoldersW()); + cache.push_back(me->Profile->GetCacheRootW()); CoInitialize(NULL); - me->RebuildDBThread(me->Profile->GetCacheRootW(), 0); + for (wstrarray::iterator it = cache.begin(); it != cache.end(); it++) { + me->RebuildDBThread((*it).c_str(), 0); + } CoUninitialize(); CloseHandle(me->RebuildDBThreadHandle); @@ -1006,7 +1058,7 @@ O2DatIO:: EnumDatThread(const wchar_t *dir) { - ProgressInfo->SetMessage(dir+wcslen(Profile->GetCacheRootW())); + ProgressInfo->SetMessage(dir); wchar_t findpath[MAX_PATH]; swprintf_s(findpath, MAX_PATH, L"%s\\*.*", dir); @@ -1015,8 +1067,8 @@ wsplit(dir+wcslen(Profile->GetCacheRootW()), L"\\", paths); O2DatRec rec; - rec.domain = paths[0]; - rec.bbsname = paths[1]; + rec.domain = paths[paths.size() - 3]; + rec.bbsname = paths[paths.size() - 2]; O2DatPath datpath; wchar_t path[MAX_PATH]; From o2on-svn @ lists.sourceforge.jp Tue Mar 18 01:55:43 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Tue, 18 Mar 2008 01:55:43 +0900 Subject: [o2on-svn] =?utf-8?b?WzYxXSAg44OH44OQ44OD44Kw5pmC44Gu5aSa6YeN6LW3?= =?utf-8?b?5YuV6Kix5Y+v?= Message-ID: <1205772943.069785.26660.nullmailer@users.sourceforge.jp> Revision: 61 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=61 Author: k-uehara Date: 2008-03-18 01:55:42 +0900 (Tue, 18 Mar 2008) Log Message: ----------- デバッグ時の多重起動許可 Modified Paths: -------------- trunk/o2on/src.o2on/main.cpp Modified: trunk/o2on/src.o2on/main.cpp =================================================================== --- trunk/o2on/src.o2on/main.cpp 2008-03-17 16:12:29 UTC (rev 60) +++ trunk/o2on/src.o2on/main.cpp 2008-03-17 16:55:42 UTC (rev 61) @@ -254,7 +254,7 @@ //bench(); //return (0); - if (FindWindow(_T(CLASS_NAME), NULL)) + if (!O2DEBUG && FindWindow(_T(CLASS_NAME), NULL)) return (0); instance = inst; From o2on-svn @ lists.sourceforge.jp Tue Mar 18 20:25:34 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Tue, 18 Mar 2008 20:25:34 +0900 Subject: [o2on-svn] =?utf-8?b?WzYyXSAg5p2h5Lu25aSJ5pWw44Gu44Kv44Oq44Ki5b+Y?= =?utf-8?b?44KM?= Message-ID: <1205839534.280747.1873.nullmailer@users.sourceforge.jp> Revision: 62 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=62 Author: laxmi Date: 2008-03-18 20:25:33 +0900 (Tue, 18 Mar 2008) Log Message: ----------- 条件変数のクリア忘れ Modified Paths: -------------- branches/BRANCH_0043/o2on/src.o2on/O2DatDB.cpp Modified: branches/BRANCH_0043/o2on/src.o2on/O2DatDB.cpp =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/O2DatDB.cpp 2008-03-17 16:55:42 UTC (rev 61) +++ branches/BRANCH_0043/o2on/src.o2on/O2DatDB.cpp 2008-03-18 11:25:33 UTC (rev 62) @@ -1331,6 +1331,8 @@ UpdateQueue.clear(); } UpdateQueueLock.Unlock(); + + UpdateThreadHandle = NULL; } uint WINAPI O2DatDB:: From o2on-svn @ lists.sourceforge.jp Thu Mar 20 22:12:33 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Thu, 20 Mar 2008 22:12:33 +0900 Subject: [o2on-svn] =?utf-8?b?WzYzXSAg44Kz44OU44O844Kz44Oz44K544OI44Op44Kv?= =?utf-8?b?44K/44Go5Luj5YWl5ryU566X5a2Q44KScHVibGlj44GL44KJcHJpdmF0ZQ==?= =?utf-8?b?44Gr5aSJ5pu0?= Message-ID: <1206018753.200127.25285.nullmailer@users.sourceforge.jp> Revision: 63 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=63 Author: laxmi Date: 2008-03-20 22:12:33 +0900 (Thu, 20 Mar 2008) Log Message: ----------- コピーコンストラクタと代入演算子をpublicからprivateに変更 変更したクラス:Mutex,File,MappedFile,EventObject Modified Paths: -------------- branches/BRANCH_0043/o2on/src.o2on/event.h branches/BRANCH_0043/o2on/src.o2on/file.h branches/BRANCH_0043/o2on/src.o2on/mutex.h Modified: branches/BRANCH_0043/o2on/src.o2on/event.h =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/event.h 2008-03-18 11:25:33 UTC (rev 62) +++ branches/BRANCH_0043/o2on/src.o2on/event.h 2008-03-20 13:12:33 UTC (rev 63) @@ -51,4 +51,8 @@ { WaitForSingleObject(event_handle, timeout_ms); } + +private: + EventObject(const EventObject& rhs); + EventObject& operator=(const EventObject& rhs); }; Modified: branches/BRANCH_0043/o2on/src.o2on/file.h =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/file.h 2008-03-18 11:25:33 UTC (rev 62) +++ branches/BRANCH_0043/o2on/src.o2on/file.h 2008-03-20 13:12:33 UTC (rev 63) @@ -182,6 +182,10 @@ GetFileSizeEx(hFile, (LARGE_INTEGER*)&fsize); return (fsize.QuadPart); } + +private: + File(const File& rhs); + File& operator=(const File& rhs); }; @@ -328,4 +332,8 @@ { return (MappedFile::AllocationGranularity); } + +private: + MappedFile(const MappedFile& rhs); + MappedFile& operator=(const MappedFile& rhs); }; Modified: branches/BRANCH_0043/o2on/src.o2on/mutex.h =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/mutex.h 2008-03-18 11:25:33 UTC (rev 62) +++ branches/BRANCH_0043/o2on/src.o2on/mutex.h 2008-03-20 13:12:33 UTC (rev 63) @@ -81,4 +81,8 @@ { ReleaseMutex(mutex_handle); } + +private: + Mutex(const Mutex& rhs); + Mutex& operator=(const Mutex& rhs); }; From o2on-svn @ lists.sourceforge.jp Sun Mar 23 09:23:34 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 23 Mar 2008 09:23:34 +0900 Subject: [o2on-svn] =?utf-8?b?WzY0XSBGSVg6IOe1guS6huWHpueQhuOBq+OBi+OBiw==?= =?utf-8?b?44KL5pmC6ZaT44KS5bmz5Z2HMuenkuefree4rg==?= Message-ID: <1206231814.204655.29201.nullmailer@users.sourceforge.jp> Revision: 64 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=64 Author: laxmi Date: 2008-03-23 09:23:33 +0900 (Sun, 23 Mar 2008) Log Message: ----------- FIX:腟????????????????抗??腱??膰? 荅括完:緇???∽???leep???WaitForSingleObject?後??? Modified Paths: -------------- branches/BRANCH_0043/o2on/src.o2on/O2DatDB.cpp branches/BRANCH_0043/o2on/src.o2on/O2DatDB.h branches/BRANCH_0043/o2on/src.o2on/O2LagQueryQueue.h Modified: branches/BRANCH_0043/o2on/src.o2on/O2DatDB.cpp =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/O2DatDB.cpp 2008-03-20 13:12:33 UTC (rev 63) +++ branches/BRANCH_0043/o2on/src.o2on/O2DatDB.cpp 2008-03-23 00:23:33 UTC (rev 64) @@ -1312,6 +1312,7 @@ return; UpdateThreadLoop = true; + StopSignal.Off(); UpdateThreadHandle = (HANDLE)_beginthreadex( NULL, 0, StaticUpdateThread, (void*)this, 0, NULL); } @@ -1322,6 +1323,8 @@ if (!UpdateThreadHandle) return; UpdateThreadLoop = false; + StopSignal.On(); + //Join WaitForSingleObject(UpdateThreadHandle, INFINITE); CloseHandle(UpdateThreadHandle); @@ -1366,6 +1369,6 @@ CLEAR_WORKSET; //TRACEA("+++++ UPDATE +++++\n"); } - Sleep(3000); + StopSignal.Wait(3000); } } Modified: branches/BRANCH_0043/o2on/src.o2on/O2DatDB.h =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/O2DatDB.h 2008-03-20 13:12:33 UTC (rev 63) +++ branches/BRANCH_0043/o2on/src.o2on/O2DatDB.h 2008-03-23 00:23:33 UTC (rev 64) @@ -13,10 +13,10 @@ #include "sqlite3.h" #include "sha.h" #include "O2Logger.h" +#include "event.h" - struct O2DatRec { hashT hash; @@ -61,6 +61,7 @@ Mutex UpdateQueueLock; HANDLE UpdateThreadHandle; bool UpdateThreadLoop; + EventObject StopSignal; protected: void log(sqlite3 *db); Modified: branches/BRANCH_0043/o2on/src.o2on/O2LagQueryQueue.h =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/O2LagQueryQueue.h 2008-03-20 13:12:33 UTC (rev 63) +++ branches/BRANCH_0043/o2on/src.o2on/O2LagQueryQueue.h 2008-03-23 00:23:33 UTC (rev 64) @@ -27,6 +27,7 @@ typedef std::map::iterator O2KeyMapIt; bool Active; + EventObject StopSignal; HANDLE ThreadHandle; O2KeyMap queries; O2Logger *Logger; @@ -105,6 +106,7 @@ { if (!ThreadHandle) { Active = true; + StopSignal.Off(); ThreadHandle = (HANDLE)_beginthreadex(NULL, 0, StaticThread, (void*)this, 0, NULL); } } @@ -113,6 +115,9 @@ { if (ThreadHandle) { Active = false; + //note:SignalObjectAndWait????????tomic???????? + StopSignal.On(); + //Join WaitForSingleObject(ThreadHandle, INFINITE); CloseHandle(ThreadHandle); ThreadHandle = NULL; @@ -163,7 +168,7 @@ it = queries.erase(it); } Unlock(); - Sleep(2500); + StopSignal.Wait(2500); } } }; From o2on-svn @ lists.sourceforge.jp Sun Mar 23 21:03:15 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 23 Mar 2008 21:03:15 +0900 Subject: [o2on-svn] =?utf-8?b?WzY1XSAgRmlyZWJpcmTlr77lv5wgOiDjgrPjg7Pjg5E=?= =?utf-8?b?44Kk44Or5p2h5Lu25YiG44GR?= Message-ID: <1206273795.737828.1629.nullmailer@users.sourceforge.jp> Revision: 65 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=65 Author: k-uehara Date: 2008-03-23 21:03:15 +0900 (Sun, 23 Mar 2008) Log Message: ----------- Firebird対応:コンパイル条件分け Modified Paths: -------------- trunk/o2on/src.o2on/O2DatDB.cpp trunk/o2on/src.o2on/O2DatDB.h Modified: trunk/o2on/src.o2on/O2DatDB.cpp =================================================================== --- trunk/o2on/src.o2on/O2DatDB.cpp 2008-03-23 00:23:33 UTC (rev 64) +++ trunk/o2on/src.o2on/O2DatDB.cpp 2008-03-23 12:03:15 UTC (rev 65) @@ -14,6 +14,7 @@ #include #include "dataconv.h" #include "stopwatch.h" +#include #define UPDATE_THREAD_INTERVAL_S 15 @@ -56,17 +57,34 @@ } - +#ifdef O2_DB_FIREBIRD void O2DatDB:: +log(ISC_STATUS_ARRAY &status) +{ + string errmsg; + char msg[512]; + while(isc_interprete(msg, (ISC_STATUS **)&status)){ + errmsg += msg; + errmsg += " "; + } + Logger->AddLog(O2LT_ERROR, L"FireBird", 0, 0, "%s", errmsg); +} +#else +void +O2DatDB:: log(sqlite3 *db) { Logger->AddLog(O2LT_ERROR, L"SQLite", 0, 0, sqlite3_errmsg(db)); } +#endif +#ifdef O2_DB_FIREBIRD + +#else bool O2DatDB:: bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const uint64 num) @@ -168,6 +186,7 @@ cols.push_back((wchar_t*)sqlite3_column_name16(stmt, i)); } } +#endif @@ -179,7 +198,10 @@ #if TRACE_SQL_EXEC_TIME stopwatch sw("create table/index and analyze"); #endif +#ifdef O2_DB_FIREBIRD + return false; +#else sqlite3 *db = NULL; int err = sqlite3_open16(dbfilename.c_str(), &db); if (err != SQLITE_OK) @@ -232,11 +254,13 @@ log(db); if (db) sqlite3_close(db); return false; +#endif } +#ifdef O2_DB_FIREBIRD bool O2DatDB:: reindex(const char *target) @@ -244,7 +268,18 @@ #if TRACE_SQL_EXEC_TIME stopwatch sw("reindex"); #endif + return true;/// noting todo +} +#else +bool +O2DatDB:: +reindex(const char *target) +{ +#if TRACE_SQL_EXEC_TIME + stopwatch sw("reindex"); +#endif + sqlite3 *db = NULL; int err = sqlite3_open16(dbfilename.c_str(), &db); if (err != SQLITE_OK) @@ -1271,6 +1306,7 @@ if (db) sqlite3_close(db); return false; } +#endif Modified: trunk/o2on/src.o2on/O2DatDB.h =================================================================== --- trunk/o2on/src.o2on/O2DatDB.h 2008-03-23 00:23:33 UTC (rev 64) +++ trunk/o2on/src.o2on/O2DatDB.h 2008-03-23 12:03:15 UTC (rev 65) @@ -10,7 +10,11 @@ */ #pragma once +#ifdef O2_DB_FIREBIRD +#include "ibase.h" +#else #include "sqlite3.h" +#endif #include "sha.h" #include "O2Logger.h" @@ -63,6 +67,16 @@ bool UpdateThreadLoop; protected: +#ifdef O2_DB_FIREBIRD + void log(ISC_STATUS_ARRAY &status); + //bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const uint64 num); + //bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const wchar_t *str); + //bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const wstring &str); + //bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const hashT &hash); + //void get_columns(sqlite3_stmt* stmt, O2DatRec &rec); + //void get_columns(sqlite3_stmt* stmt, wstrarray &cols); + //void get_column_names(sqlite3_stmt* stmt, wstrarray &cols); +#else void log(sqlite3 *db); bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const uint64 num); bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const wchar_t *str); @@ -71,6 +85,7 @@ void get_columns(sqlite3_stmt* stmt, O2DatRec &rec); void get_columns(sqlite3_stmt* stmt, wstrarray &cols); void get_column_names(sqlite3_stmt* stmt, wstrarray &cols); +#endif public: O2DatDB(O2Logger *lgr, const wchar_t *filename); From o2on-svn @ lists.sourceforge.jp Wed Mar 26 01:22:29 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Wed, 26 Mar 2008 01:22:29 +0900 Subject: [o2on-svn] =?utf-8?b?WzY2XSAgRmlyZWJpcmTlr77lv5wgOmNyZWF0ZV90YWJs?= =?utf-8?b?ZSwgIOOCs+ODs+OCueODiOODqeOCr+OCvw==?= Message-ID: <1206462149.887564.2329.nullmailer@users.sourceforge.jp> Revision: 66 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=66 Author: k-uehara Date: 2008-03-26 01:22:29 +0900 (Wed, 26 Mar 2008) Log Message: ----------- Firebird対応:create_table, コンストラクタ Modified Paths: -------------- trunk/o2on/src.o2on/O2DatDB.cpp trunk/o2on/src.o2on/O2DatDB.h Modified: trunk/o2on/src.o2on/O2DatDB.cpp =================================================================== --- trunk/o2on/src.o2on/O2DatDB.cpp 2008-03-23 12:03:15 UTC (rev 65) +++ trunk/o2on/src.o2on/O2DatDB.cpp 2008-03-25 16:22:29 UTC (rev 66) @@ -46,6 +46,24 @@ , UpdateThreadHandle(NULL) , UpdateThreadLoop(false) { +#ifdef O2_DB_FIREBIRD + FromUnicode(L"shift_jis", filename, dbfilenameA); + + char user_name[] = "SYSDBA"; + char user_password[] = "masterkey"; + char *dpb, *p; + dpb = dpb_buff; + *dpb++ = isc_dpb_version1; + *dpb++ = isc_dpb_user_name; + *dpb++ = strlen(user_name); + for (p = user_name; *p;) + *dpb++ = *p++; + *dpb++ = isc_dpb_password; + *dpb++ = strlen(user_password); + for (p = user_password; *p;) + *dpb++ = *p++; + dpblen = dpb - dpb_buff; +#endif } @@ -64,7 +82,8 @@ { string errmsg; char msg[512]; - while(isc_interprete(msg, (ISC_STATUS **)&status)){ + const ISC_STATUS* st = status; + while(fb_interpret(msg, sizeof(msg), &st)){ errmsg += msg; errmsg += " "; } @@ -199,8 +218,51 @@ stopwatch sw("create table/index and analyze"); #endif #ifdef O2_DB_FIREBIRD + isc_db_handle db = NULL; + isc_tr_handle tr = NULL; + isc_stmt_handle stmt = NULL; + ISC_STATUS_ARRAY status; + + char create_db[512]; + sprintf_s(create_db, 512, "CREATE DATABASE '%s' USER 'SYSDBA' PASSWORD 'masterkey';", dbfilenameA.c_str()); + if (!isc_dsql_execute_immediate(status, &db, &tr, 0, create_db, 1, NULL)) + isc_detach_database(status, &db); + + if (isc_attach_database(status, 0, dbfilenameA.c_str(), &db, dpblen, dpb_buff)) + goto error; + + char *sql = + "EXECUTE BLOCK AS BEGIN " + "if (not exists(select 1 from rdb$relations where rdb$relation_name = 'DAT')) then " + "execute statement 'create table DAT (" + " hash CHAR(20) NOT NULL PRIMARY KEY,"//length is HASHSIZE in sha.h + " domainname VARCHAR(10)," + " datname VARCHAR(20)," + " filesize INTEGER," + " disksize INTEGER," + " url VARCHAR(128)," + " title VARCHAR(256)," + " res INTEGER," + " lastupdate INTEGER," + " lastpublish INTEGER" + ");';" + "END"; + + if (isc_start_transaction(status, &tr, 1, &db, 0, NULL)) + goto error; + if (isc_dsql_execute_immediate(status, &db, &tr, 0, sql, 1, NULL)) + goto error; + if (isc_commit_transaction(status, &tr)) + goto error; + if (isc_detach_database(status, &db)) + goto error; + return true; + +error: + log(status); + if (tr) isc_rollback_transaction(status, &tr); + if (db) isc_detach_database(status, &db); return false; - #else sqlite3 *db = NULL; int err = sqlite3_open16(dbfilename.c_str(), &db); Modified: trunk/o2on/src.o2on/O2DatDB.h =================================================================== --- trunk/o2on/src.o2on/O2DatDB.h 2008-03-23 12:03:15 UTC (rev 65) +++ trunk/o2on/src.o2on/O2DatDB.h 2008-03-25 16:22:29 UTC (rev 66) @@ -60,6 +60,9 @@ protected: O2Logger *Logger; wstring dbfilename; + string dbfilenameA; + ISC_SCHAR dpb_buff[128]; + short dpblen; O2DatRecList UpdateQueue; Mutex UpdateQueueLock; @@ -69,13 +72,14 @@ protected: #ifdef O2_DB_FIREBIRD void log(ISC_STATUS_ARRAY &status); - //bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const uint64 num); - //bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const wchar_t *str); - //bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const wstring &str); - //bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const hashT &hash); - //void get_columns(sqlite3_stmt* stmt, O2DatRec &rec); - //void get_columns(sqlite3_stmt* stmt, wstrarray &cols); - //void get_column_names(sqlite3_stmt* stmt, wstrarray &cols); + bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const uint64 num); + bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const wchar_t *str); + bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const wstring &str); + bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const hashT &hash); + void get_columns(sqlite3_stmt* stmt, O2DatRec &rec); + void get_columns(sqlite3_stmt* stmt, wstrarray &cols); + void get_column_names(sqlite3_stmt* stmt, wstrarray &cols); + void log(sqlite3 *db); #else void log(sqlite3 *db); bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const uint64 num); @@ -91,7 +95,30 @@ O2DatDB(O2Logger *lgr, const wchar_t *filename); ~O2DatDB(); +#ifdef O2_DB_FIREBIRD bool create_table(void); + //bool reindex(const char *target); + + //size_t select(const wchar_t *sql, SQLResultList &out); + //bool select(O2DatRec &out); + //bool select(O2DatRec &out, const hashT hash); + //bool select(O2DatRec &out, const wchar_t *domain, const wchar_t *bbsname); + //bool select(O2DatRecList &out); + //bool select(O2DatRecList &out, const wchar_t *domain, const wchar_t *bbsname); + //bool select(O2DatRec &out, const wchar_t *domain, const wchar_t *bbsname, const wchar_t *datname); + //bool select(O2DatRecList &out, time_t publish_tt, size_t limit); + //uint64 select_datcount(void); + //uint64 select_datcount(wstrnummap &out); + //uint64 select_totaldisksize(void); + //uint64 select_publishcount(time_t publish_tt); + +// bool update(O2DatRec &in, bool is_origurl); + //void update(O2DatRecList &in); +// bool update_lastpublish(const hashT &hash); + + //bool remove(const hashT &hash); +#else + bool create_table(void); bool reindex(const char *target); size_t select(const wchar_t *sql, SQLResultList &out); @@ -112,6 +139,7 @@ // bool update_lastpublish(const hashT &hash); bool remove(const hashT &hash); +#endif void AddUpdateQueue(O2DatRec &in); void AddUpdateQueue(const hashT &hash); From o2on-svn @ lists.sourceforge.jp Sun Mar 30 02:05:53 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 30 Mar 2008 02:05:53 +0900 Subject: [o2on-svn] =?utf-8?b?WzY3XSAgRmlyZWJpcmTlr77lv5wgOg==?= Message-ID: <1206810353.153395.8329.nullmailer@users.sourceforge.jp> Revision: 67 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=67 Author: k-uehara Date: 2008-03-30 02:05:53 +0900 (Sun, 30 Mar 2008) Log Message: ----------- Firebird対応: get_columns get_column_names select(O2DatRecList &out) Modified Paths: -------------- trunk/o2on/src.o2on/O2DatDB.cpp trunk/o2on/src.o2on/O2DatDB.h Modified: trunk/o2on/src.o2on/O2DatDB.cpp =================================================================== --- trunk/o2on/src.o2on/O2DatDB.cpp 2008-03-25 16:22:29 UTC (rev 66) +++ trunk/o2on/src.o2on/O2DatDB.cpp 2008-03-29 17:05:53 UTC (rev 67) @@ -24,6 +24,18 @@ #define TRACE_SQL_EXEC_TIME 0 #endif +#define COLUMNSA " hash" \ + ", domainname" \ + ", bbsname" \ + ", datname" \ + ", filesize" \ + ", disksize" \ + ", url" \ + ", title" \ + ", res" \ + ", lastupdate" \ + ", lastpublish" \ + " " #define COLUMNS L" hash" \ L", domain" \ L", bbsname" \ @@ -103,6 +115,101 @@ #ifdef O2_DB_FIREBIRD +void +O2DatDB:: +get_columns(XSQLDA *sqlda, O2DatRec &rec) +{ + XSQLVAR *var = sqlda->sqlvar; + + rec.hash.assign((byte*)var->sqldata, HASHSIZE); var++; + ascii2unicode(var->sqldata+2, var->sqllen, rec.domain); var++; + ascii2unicode(var->sqldata+2, var->sqllen, rec.bbsname); var++; + ascii2unicode(var->sqldata+2, var->sqllen, rec.datname); var++; + rec.size = *(long*)(var->sqldata); var++; + rec.disksize = *(long*)var->sqldata; var++; + ascii2unicode(var->sqldata+2, var->sqllen, rec.url); var++; + ToUnicode(L"UTF8", var->sqldata, var->sqllen, rec.title); + ascii2unicode(var->sqldata+2, var->sqllen, rec.title); var++; + rec.res = 0; var++; // always 0 + rec.lastupdate = *(long*)var->sqldata; var++; + rec.lastpublish = *(long*)var->sqldata; +} + +void +O2DatDB:: +get_columns(isc_stmt_handle stmt, XSQLDA* sqlda, wstrarray &cols) +{ + int i; + string w_str; + long fetch_stat; + wstring tmpstr; + wchar_t tmp[1024]; + XSQLVAR *var; + ISC_STATUS_ARRAY status; + + while ((fetch_stat = isc_dsql_fetch(status, &stmt, 1, sqlda)) == 0) { + for (i = 0, var = sqlda->sqlvar; i < sqlda->sqld; i++, var++) { + switch (var->sqltype & ~1) { + case SQL_VARYING: + if ((var->sqltype & 1) && (*(var->sqlind) == -1)) { + cols.push_back(L"error"); + } else { + ascii2unicode(var->sqldata+2, var->sqllen, tmpstr); + cols.push_back(tmpstr); + } + break; + case SQL_TEXT: + if ((var->sqltype & 1) && (*(var->sqlind) == -1)) { + cols.push_back(L"error"); + } else { + ascii2unicode(var->sqldata, var->sqllen, tmpstr); + cols.push_back(tmpstr); + } + break; + case SQL_LONG: + if ((var->sqltype & 1) && (*(var->sqlind) == -1)) { + cols.push_back(L"error"); + } else { + swprintf_s(tmp, 1024, L"%d", *(long*)var->sqldata); + cols.push_back(tmp); + } + break; + case SQL_SHORT: + if ((var->sqltype & 1) && (*(var->sqlind) == -1)) { + cols.push_back(L"error"); + } else { + swprintf_s(tmp, 1024, L"%d", *(short*)var->sqldata); + } + break; + case SQL_FLOAT: + if ((var->sqltype & 1) && (*(var->sqlind) == -1)) { + cols.push_back(L"error"); + } else { + swprintf_s(tmp, 1024, L"%f", *(float*)var->sqldata); + } + break; + case SQL_ARRAY: + case SQL_BLOB: + case SQL_DOUBLE: + default: + cols.push_back(L"error"); + break; + } + } + } +} + +void +O2DatDB:: +get_column_names(XSQLDA *sqlda, wstrarray &cols) +{ + wstring tmpstr; + XSQLVAR *var = sqlda->sqlvar; + for (int i = 0; i < sqlda->sqln; i++, var++) { + ascii2unicode(var->sqlname, var->sqlname_length, tmpstr); + cols.push_back(tmpstr); + } +} #else bool O2DatDB:: @@ -235,13 +342,14 @@ "EXECUTE BLOCK AS BEGIN " "if (not exists(select 1 from rdb$relations where rdb$relation_name = 'DAT')) then " "execute statement 'create table DAT (" - " hash CHAR(20) NOT NULL PRIMARY KEY,"//length is HASHSIZE in sha.h - " domainname VARCHAR(10)," - " datname VARCHAR(20)," + " hash CHAR(20) CHARACTOR SET OCTETS NOT NULL PRIMARY KEY,"//length is HASHSIZE in sha.h + " domainname VARCHAR(10) CHARACTOR SET ASCII," + " bbsname VARCHAR(10) CHARACTOR SET ASCII," + " datname VARCHAR(20) CHARACTOR SET ASCII," " filesize INTEGER," " disksize INTEGER," - " url VARCHAR(128)," - " title VARCHAR(256)," + " url VARCHAR(128) CHARACTOR SET ASCII," + " title VARCHAR(256) CHARACTOR SET UTF8," " res INTEGER," " lastupdate INTEGER," " lastpublish INTEGER" @@ -332,6 +440,104 @@ #endif return true;/// noting todo } + + + + +bool +O2DatDB:: +select(O2DatRecList &out) +{ +#if TRACE_SQL_EXEC_TIME + stopwatch sw("select all"); +#endif + + isc_db_handle db = NULL; + isc_tr_handle tr = NULL; + ISC_STATUS_ARRAY status; + isc_stmt_handle stmt = NULL; + O2DatRec rec; + XSQLDA *outda = NULL; + string w_str; + int w_row = 0; + long fetch_stat; + XSQLVAR *var; + int i; + + if (isc_attach_database(status, 0, dbfilenameA.c_str(), &db, dpblen, dpb_buff)) + goto error; + //sqlite3_busy_timeout(db, 5000); + + char *sql = + "select" + COLUMNSA + " from dat;"; + + if (isc_dsql_allocate_statement(status, &db, &stmt)) + goto error; + if (isc_start_transaction(status, &tr, 1, &db, 0, NULL)) + goto error; + if (isc_dsql_prepare(status, &tr, &stmt, 0, sql, 1, NULL)) + goto error; + outda = (XSQLDA *)new char[(XSQLDA_LENGTH(1))]; + outda->version = SQLDA_VERSION1; + outda->sqln = 1; + if (isc_dsql_describe(status, &stmt, 1, outda)) + goto error; + if (outda->sqld > outda->sqln) { + int n = outda->sqld; + delete(outda); + outda = (XSQLDA *)new char[XSQLDA_LENGTH(n)]; + outda->version = SQLDA_VERSION1; + outda->sqln = n; + isc_dsql_describe(status, &stmt, 1, outda); + } + for (i = 0, var = outda->sqlvar; i < outda->sqld; i++, var++) { + switch (var->sqltype & ~1) { + case SQL_VARYING: + var->sqldata = (char *)new char[var->sqllen + 2]; + break; + default: + var->sqldata = (char *)new char[var->sqllen]; + break; + } + + if (var->sqltype & 1) { + var->sqlind = (short *)new short; + } + } + if (isc_dsql_execute(status, &tr, &stmt, 1, NULL)) + goto error; + + while ((fetch_stat = isc_dsql_fetch(status, &stmt, 1, outda)) == 0) { + get_columns(outda, rec); + out.push_back(rec); + } + + if (isc_commit_transaction(status, &tr)) + goto error; + + if (isc_dsql_free_statement(status, &stmt, 0)) + goto error; + stmt = NULL; + if (isc_detach_database(status, &db)) + goto error; + + delete outda; + return true; + +error: + log(status); + if (outda) delete outda; + if (tr) isc_rollback_transaction(status, &tr); + if (stmt) isc_dsql_free_statement(status, &stmt, 0); + if (db) isc_detach_database(status, &db); + return false; +} + + + + #else bool Modified: trunk/o2on/src.o2on/O2DatDB.h =================================================================== --- trunk/o2on/src.o2on/O2DatDB.h 2008-03-25 16:22:29 UTC (rev 66) +++ trunk/o2on/src.o2on/O2DatDB.h 2008-03-29 17:05:53 UTC (rev 67) @@ -60,9 +60,11 @@ protected: O2Logger *Logger; wstring dbfilename; +#ifdef O2_DB_FIREBIRD string dbfilenameA; ISC_SCHAR dpb_buff[128]; short dpblen; +#endif O2DatRecList UpdateQueue; Mutex UpdateQueueLock; @@ -76,10 +78,9 @@ bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const wchar_t *str); bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const wstring &str); bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const hashT &hash); - void get_columns(sqlite3_stmt* stmt, O2DatRec &rec); - void get_columns(sqlite3_stmt* stmt, wstrarray &cols); - void get_column_names(sqlite3_stmt* stmt, wstrarray &cols); - void log(sqlite3 *db); + void get_columns(XSQLDA *sqlda, O2DatRec &rec); + void get_columns(isc_stmt_handle stmt, XSQLDA *sqlda, wstrarray &cols); + void get_column_names(XSQLDA *sqlda, wstrarray &cols); #else void log(sqlite3 *db); bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const uint64 num); @@ -103,7 +104,7 @@ //bool select(O2DatRec &out); //bool select(O2DatRec &out, const hashT hash); //bool select(O2DatRec &out, const wchar_t *domain, const wchar_t *bbsname); - //bool select(O2DatRecList &out); + bool select(O2DatRecList &out); //bool select(O2DatRecList &out, const wchar_t *domain, const wchar_t *bbsname); //bool select(O2DatRec &out, const wchar_t *domain, const wchar_t *bbsname, const wchar_t *datname); //bool select(O2DatRecList &out, time_t publish_tt, size_t limit); From o2on-svn @ lists.sourceforge.jp Sun Mar 30 02:15:06 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Sun, 30 Mar 2008 02:15:06 +0900 Subject: [o2on-svn] =?utf-8?b?WzY4XSAgRmlyZWJpcmTlr77lv5wgOiAgRELjg5XjgqE=?= =?utf-8?b?44Kk44Or5ZCN5aSJ5pu0?= Message-ID: <1206810906.075086.16624.nullmailer@users.sourceforge.jp> Revision: 68 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=68 Author: k-uehara Date: 2008-03-30 02:15:05 +0900 (Sun, 30 Mar 2008) Log Message: ----------- Firebird対応: DBファイル名変更 Modified Paths: -------------- trunk/o2on/src.o2on/main.cpp Modified: trunk/o2on/src.o2on/main.cpp =================================================================== --- trunk/o2on/src.o2on/main.cpp 2008-03-29 17:05:53 UTC (rev 67) +++ trunk/o2on/src.o2on/main.cpp 2008-03-29 17:15:05 UTC (rev 68) @@ -375,7 +375,11 @@ // DatDB // wstring dbfilename(Profile->GetDBDirW()); +#ifdef O2_DB_FIREBIRD + dbfilename += L"\\dat.fdb"; +#else dbfilename += L"\\dat.db"; +#endif DatDB = new O2DatDB(Logger, dbfilename.c_str()); if (!DatDB->create_table()) { MessageBox(NULL, From o2on-svn @ lists.sourceforge.jp Mon Mar 31 21:40:31 2008 From: o2on-svn @ lists.sourceforge.jp (o2on svn commit) Date: Mon, 31 Mar 2008 21:40:31 +0900 Subject: [o2on-svn] =?utf-8?b?WzY5XSAgRmlyZWJpcmTlr77lv5wgOg==?= Message-ID: <1206967231.672970.24156.nullmailer@users.sourceforge.jp> Revision: 69 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=69 Author: k-uehara Date: 2008-03-31 21:40:31 +0900 (Mon, 31 Mar 2008) Log Message: ----------- Firebird対応: select(O2DatRec &out) select(O2DatRec &out, const hashT hash) select_datcount(void) reindex prepare_xsqlda Modified Paths: -------------- trunk/o2on/src.o2on/O2DatDB.cpp trunk/o2on/src.o2on/O2DatDB.h Modified: trunk/o2on/src.o2on/O2DatDB.cpp =================================================================== --- trunk/o2on/src.o2on/O2DatDB.cpp 2008-03-29 17:15:05 UTC (rev 68) +++ trunk/o2on/src.o2on/O2DatDB.cpp 2008-03-31 12:40:31 UTC (rev 69) @@ -48,6 +48,15 @@ L", lastupdate" \ L", lastpublish" \ L" " +#ifdef O2_DB_FIREBIRD +#define SQL_CHAR_NONE 0 +#define SQL_CHAR_OCTETS 1 +#define SQL_CHAR_ASCII 2 +#define SQL_CHAR_UNICODE_FSS 3 +#define SQL_CHAR_UTF8 4 +#define SQL_CHAR_SJIS 5 +#define SQL_CHAR_EUCJ 6 +#endif @@ -99,7 +108,7 @@ errmsg += msg; errmsg += " "; } - Logger->AddLog(O2LT_ERROR, L"FireBird", 0, 0, "%s", errmsg); + Logger->AddLog(O2LT_ERROR, L"Firebird", 0, 0, "%s", errmsg); } #else void @@ -128,8 +137,7 @@ rec.size = *(long*)(var->sqldata); var++; rec.disksize = *(long*)var->sqldata; var++; ascii2unicode(var->sqldata+2, var->sqllen, rec.url); var++; - ToUnicode(L"UTF8", var->sqldata, var->sqllen, rec.title); - ascii2unicode(var->sqldata+2, var->sqllen, rec.title); var++; + ToUnicode(L"UTF8", var->sqldata+2, var->sqllen, rec.title); var++; rec.res = 0; var++; // always 0 rec.lastupdate = *(long*)var->sqldata; var++; rec.lastpublish = *(long*)var->sqldata; @@ -140,7 +148,6 @@ get_columns(isc_stmt_handle stmt, XSQLDA* sqlda, wstrarray &cols) { int i; - string w_str; long fetch_stat; wstring tmpstr; wchar_t tmp[1024]; @@ -154,8 +161,14 @@ if ((var->sqltype & 1) && (*(var->sqlind) == -1)) { cols.push_back(L"error"); } else { - ascii2unicode(var->sqldata+2, var->sqllen, tmpstr); - cols.push_back(tmpstr); + if (var->sqltype == SQL_CHAR_OCTETS){ + byte2whex((const byte *)var->sqldata+2, var->sqllen, tmpstr); + cols.push_back(tmpstr); + } else { + ToUnicode(L"UTF8", var->sqldata+2, var->sqllen, tmpstr); + //ascii2unicode(var->sqldata+2, var->sqllen, tmpstr); + cols.push_back(tmpstr); + } } break; case SQL_TEXT: @@ -210,6 +223,52 @@ cols.push_back(tmpstr); } } + +XSQLDA* +O2DatDB:: +prepare_xsqlda(isc_stmt_handle stmt, bool bind) +{ + ISC_STATUS_ARRAY status; + XSQLVAR *var; + XSQLDA *outda = (XSQLDA *)new char[(XSQLDA_LENGTH(1))]; + outda->version = SQLDA_VERSION1; + outda->sqln = 1; + if (bind) { + if (isc_dsql_describe_bind(status, &stmt, 1, outda)) goto error; + } else { + if (isc_dsql_describe(status, &stmt, 1, outda)) goto error; + } + if (outda->sqld > outda->sqln) { + int n = outda->sqld; + delete outda; + outda = (XSQLDA *)new char[XSQLDA_LENGTH(n)]; + outda->version = SQLDA_VERSION1; + outda->sqln = n; + if (bind) + isc_dsql_describe_bind(status, &stmt, 1, outda); + else + isc_dsql_describe(status, &stmt, 1, outda); + } + int i; + for (var = outda->sqlvar, i=0; i < outda->sqld; i++, var++) { + switch (var->sqltype & ~1) { + case SQL_VARYING: + var->sqldata = (char *)new char[var->sqllen + 2]; + break; + default: + var->sqldata = (char *)new char[var->sqllen]; + break; + } + if (var->sqltype & 1) { + var->sqlind = (short *)new short; + } + } + return outda; +error: + if (outda) delete outda; + log(status); + return NULL; +} #else bool O2DatDB:: @@ -342,14 +401,14 @@ "EXECUTE BLOCK AS BEGIN " "if (not exists(select 1 from rdb$relations where rdb$relation_name = 'DAT')) then " "execute statement 'create table DAT (" - " hash CHAR(20) CHARACTOR SET OCTETS NOT NULL PRIMARY KEY,"//length is HASHSIZE in sha.h - " domainname VARCHAR(10) CHARACTOR SET ASCII," - " bbsname VARCHAR(10) CHARACTOR SET ASCII," - " datname VARCHAR(20) CHARACTOR SET ASCII," + " hash CHAR(20) CHARACTER SET OCTETS NOT NULL PRIMARY KEY,"//length is HASHSIZE in sha.h + " domainname VARCHAR(10) CHARACTER SET ASCII," + " bbsname VARCHAR(10) CHARACTER SET ASCII," + " datname VARCHAR(20) CHARACTER SET ASCII," " filesize INTEGER," " disksize INTEGER," - " url VARCHAR(128) CHARACTOR SET ASCII," - " title VARCHAR(256) CHARACTOR SET UTF8," + " url VARCHAR(128) CHARACTER SET ASCII," + " title VARCHAR(256) CHARACTER SET UTF8," " res INTEGER," " lastupdate INTEGER," " lastpublish INTEGER" @@ -438,7 +497,36 @@ #if TRACE_SQL_EXEC_TIME stopwatch sw("reindex"); #endif - return true;/// noting todo + + isc_db_handle db = NULL; + isc_tr_handle tr = NULL; + ISC_STATUS_ARRAY status; + + if (isc_attach_database(status, 0, dbfilenameA.c_str(), &db, dpblen, dpb_buff)) + goto error; + if (isc_start_transaction(status, &tr, 1, &db, 0, NULL)) + goto error; + + char sql[64]; + sprintf_s(sql, 64, "ALTER INDEX %s INACTIVE;", target); + if (isc_execute_immediate(status, &db, &tr, 0, sql)) + goto error; + sprintf_s(sql, 64, "ALTER INDEX %s ACTIVE;", target); + if (isc_execute_immediate(status, &db, &tr, 0, sql)) + goto error; + + if (isc_commit_transaction(status, &tr)) + goto error; + if (isc_detach_database(status, &db)) + goto error; + + return true; + +error: + log(status); + if (tr) isc_rollback_transaction(status, &tr); + if (db) isc_detach_database(status, &db); + return false; } @@ -446,6 +534,128 @@ bool O2DatDB:: +select(O2DatRec &out) +{ +#if TRACE_SQL_EXEC_TIME + stopwatch sw("select random 1"); +#endif + + isc_db_handle db = NULL; + isc_tr_handle tr = NULL; + ISC_STATUS_ARRAY status; + isc_stmt_handle stmt = NULL; + XSQLDA *outda = NULL; + string w_str; + int w_row = 0; + + if (isc_attach_database(status, 0, dbfilenameA.c_str(), &db, dpblen, dpb_buff)) + goto error; + + char sql[256]; + sprintf_s(sql, 256, "select first 1 %s from dat order by (lastpublish + %d)*4294967291-((filesize + %d)*4294967291/49157)*49157", + COLUMNSA, rand(), rand()); + + if (isc_dsql_allocate_statement(status, &db, &stmt)) + goto error; + if (isc_start_transaction(status, &tr, 1, &db, 0, NULL)) + goto error; + if (isc_dsql_prepare(status, &tr, &stmt, 0, sql, 1, NULL)) + goto error; + XSQLDA *sqlda = prepare_xsqlda(stmt, false); + + if (isc_dsql_execute(status, &tr, &stmt, 1, NULL)) + goto error; + if (isc_dsql_fetch(status, &stmt, 1, sqlda)) + goto error; + get_columns(sqlda, out); + + if (isc_commit_transaction(status, &tr)) + goto error; + if (stmt) isc_dsql_free_statement(status, &stmt, 0); + if (db) isc_detach_database(status, &db); + delete sqlda; + return true; +error: + log(status); + if (tr) isc_rollback_transaction(status, &tr); + if (stmt) isc_dsql_free_statement(status, &stmt, 0); + if (db) isc_detach_database(status, &db); + if (sqlda) delete sqlda; + return false; +} + + + +bool +O2DatDB:: +select(O2DatRec &out, hashT hash) +{ +#if TRACE_SQL_EXEC_TIME + stopwatch sw("select by hash"); +#endif + + isc_db_handle db = NULL; + isc_tr_handle tr = NULL; + ISC_STATUS_ARRAY status; + isc_stmt_handle stmt = NULL; + O2DatRec rec; + XSQLDA *outda = NULL, *inda = NULL; + string w_str; + int w_row = 0; + XSQLVAR *var; + bool ret = false; + + if (isc_attach_database(status, 0, dbfilenameA.c_str(), &db, dpblen, dpb_buff)) + goto error; + + char *sql = + "select" + COLUMNSA + " from dat" + " where hash = ?;"; + + if (isc_dsql_allocate_statement(status, &db, &stmt)) + goto error; + if (isc_start_transaction(status, &tr, 1, &db, 0, NULL)) + goto error; + if (isc_dsql_prepare(status, &tr, &stmt, 0, sql, 1, outda)) + goto error; + outda = prepare_xsqlda(stmt, false); + inda = prepare_xsqlda(stmt, true); + + inda->sqlvar->sqldata = (char*) hash.block; + + if (isc_dsql_execute2(status, &tr, &stmt, 1, inda, outda)) { + //error + } + if (isc_dsql_fetch(status,&stmt, 1, outda) == 0) { + get_columns(outda, rec); + ret = true; + } + if (isc_commit_transaction(status, &tr)) + goto error; + if (stmt) isc_dsql_free_statement(status, &stmt, 0); + if (db) isc_detach_database(status, &db); + if (inda) delete inda; + if (outda) delete outda; + return ret; + +error: + log(status); + if (tr) isc_rollback_transaction(status, &tr); + if (stmt) isc_dsql_free_statement(status, &stmt, 0); + if (db) isc_detach_database(status, &db); + if (inda) delete inda; + if (outda) delete outda; + return false; +} + + + + + +bool +O2DatDB:: select(O2DatRecList &out) { #if TRACE_SQL_EXEC_TIME @@ -461,12 +671,9 @@ string w_str; int w_row = 0; long fetch_stat; - XSQLVAR *var; - int i; if (isc_attach_database(status, 0, dbfilenameA.c_str(), &db, dpblen, dpb_buff)) goto error; - //sqlite3_busy_timeout(db, 5000); char *sql = "select" @@ -479,33 +686,7 @@ goto error; if (isc_dsql_prepare(status, &tr, &stmt, 0, sql, 1, NULL)) goto error; - outda = (XSQLDA *)new char[(XSQLDA_LENGTH(1))]; - outda->version = SQLDA_VERSION1; - outda->sqln = 1; - if (isc_dsql_describe(status, &stmt, 1, outda)) - goto error; - if (outda->sqld > outda->sqln) { - int n = outda->sqld; - delete(outda); - outda = (XSQLDA *)new char[XSQLDA_LENGTH(n)]; - outda->version = SQLDA_VERSION1; - outda->sqln = n; - isc_dsql_describe(status, &stmt, 1, outda); - } - for (i = 0, var = outda->sqlvar; i < outda->sqld; i++, var++) { - switch (var->sqltype & ~1) { - case SQL_VARYING: - var->sqldata = (char *)new char[var->sqllen + 2]; - break; - default: - var->sqldata = (char *)new char[var->sqllen]; - break; - } - - if (var->sqltype & 1) { - var->sqlind = (short *)new short; - } - } + outda = prepare_xsqlda(stmt, false); if (isc_dsql_execute(status, &tr, &stmt, 1, NULL)) goto error; @@ -538,6 +719,55 @@ +uint64 +O2DatDB:: +select_datcount(void) +{ +#if TRACE_SQL_EXEC_TIME + stopwatch sw("select datcount"); +#endif + + isc_db_handle db = NULL; + ISC_STATUS_ARRAY status; + isc_stmt_handle stmt = NULL; + isc_tr_handle tr = NULL; + + if (isc_attach_database(status, 0, dbfilenameA.c_str(), &db, dpblen, dpb_buff)) + goto error; + + char *sql = "select count(*) from dat;"; + + if (isc_dsql_allocate_statement(status, &db, &stmt)) + goto error; + if (isc_start_transaction(status, &tr, 1, &db, 0, NULL)) + goto error; + if (isc_dsql_prepare(status, &tr, &stmt, 0, sql, 1, NULL)) + goto error; + XSQLDA *sqlda = prepare_xsqlda(stmt, false); + + if (isc_dsql_execute(status, &tr, &stmt, 1, NULL)) + goto error; + if (isc_dsql_fetch(status, &stmt, 1, sqlda)) + goto error; + uint64 count = 0; + count = *(long *)sqlda->sqlvar[0].sqldata + count; + + if (isc_commit_transaction(status, &tr)) + goto error; + delete sqlda; + if (stmt) isc_dsql_free_statement(status, &stmt, 0); + if (db) isc_detach_database(status, &db); + + return (count); + +error: + log(status); + if (sqlda) delete sqlda; + if (tr) isc_rollback_transaction(status, &tr); + if (stmt) isc_dsql_free_statement(status, &stmt, 0); + if (db) isc_detach_database(status, &db); + return (0); +} #else bool Modified: trunk/o2on/src.o2on/O2DatDB.h =================================================================== --- trunk/o2on/src.o2on/O2DatDB.h 2008-03-29 17:15:05 UTC (rev 68) +++ trunk/o2on/src.o2on/O2DatDB.h 2008-03-31 12:40:31 UTC (rev 69) @@ -81,6 +81,7 @@ void get_columns(XSQLDA *sqlda, O2DatRec &rec); void get_columns(isc_stmt_handle stmt, XSQLDA *sqlda, wstrarray &cols); void get_column_names(XSQLDA *sqlda, wstrarray &cols); + XSQLDA* prepare_xsqlda(isc_stmt_handle stmt, bool bind); #else void log(sqlite3 *db); bool bind(sqlite3 *db, sqlite3_stmt* stmt, int index, const uint64 num); @@ -98,17 +99,17 @@ #ifdef O2_DB_FIREBIRD bool create_table(void); - //bool reindex(const char *target); + bool reindex(const char *target); //size_t select(const wchar_t *sql, SQLResultList &out); - //bool select(O2DatRec &out); - //bool select(O2DatRec &out, const hashT hash); + bool select(O2DatRec &out); + bool select(O2DatRec &out, const hashT hash); //bool select(O2DatRec &out, const wchar_t *domain, const wchar_t *bbsname); bool select(O2DatRecList &out); //bool select(O2DatRecList &out, const wchar_t *domain, const wchar_t *bbsname); //bool select(O2DatRec &out, const wchar_t *domain, const wchar_t *bbsname, const wchar_t *datname); //bool select(O2DatRecList &out, time_t publish_tt, size_t limit); - //uint64 select_datcount(void); + uint64 select_datcount(void); //uint64 select_datcount(wstrnummap &out); //uint64 select_totaldisksize(void); //uint64 select_publishcount(time_t publish_tt);