datファイルを共有するP2Pソフト o2on 15datat TECH
datファイルを共有するP2Pソフト o2on 15dat - 暇つぶし2ch47:おさ ◆OSApxZfJs2
08/06/08 21:04:18
>>46
dat.dbは0044bで正常に完了した物を使いました。

>>45 の省略した部分に原因があったので、かいつまんで書くと
o2onのDB再構築は読み込んだファイルからハッシュを生成して、
それをdat.dbに対してinsert or replace into~を使って更新をかけています。
o2onはDB再構築の前に delete from dat や truncate table dat を実行していません。
なので、キーとなるhashが一致しない限り、異常なレコードが生成されたときに消える機会が無くなります。

んで、問題のあったレコードは、datテーブルのhashに何か入っていて、
それ以外が空文字か0、lastupdateとlastpublishは1212450516付近の値。

そしてdat収集タブを開くときに、O2Boards::MakeBBSMenuXML()から呼ばれる
O2DatDB::select_datcount()で"ドメイン:掲示板名"のmapを返してくるのですが、
":"というドメイン名と掲示板名が空のものがかえってきます。そのためMakeBBSMenuXML()のなかの
for (nmit = nummap.begin(); nmit != nummap.end(); nmit++) {
wsplit(nmit->first.c_str(), L":", token);
xml += L"<board>"EOL;
xml_AddElement(xml, L"bbsname",    NULL, token[1].c_str()); ← ここ
で存在しない添え字を参照して落ちてしまいます。



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch