memo: 2003年 09月 第3週 現在時刻:2024/11/23 14:30:09


18日(木): シレン
初記:
更新:
2003/09/18 23:30:34
----/--/-- --:--:--
突発的にPC版シレン(DC版の移植)にはまってしまいました。
飽きるまで更新は無いと思われます。

16日(火): USBカメラ+USBメモリ
初記:
更新:
2003/09/16 00:26:06
----/--/-- --:--:--
PicoShot
欲しいと思ってしまった・・・。
値段によっては買いそう。
ところでシャッターどこにあるんだろ?

15日(月): ComLog
初記:
更新:
2003/09/15 05:50:25
2003/09/15 08:25:14
バグ
MSGなど複数行に渡るコマンドでASCIIでない文字が使われるとフィルタリングや表示がおかしくなる。
複数行コマンドでは1行目の最後に後続データのバイト数が
示されているが、これはUTF-8でのもの。
ComLogにやってくるテキストはShiftJISに変換されている。
日本語文字はShiftJISでは2バイトだがUTF-8では3バイトになる。
よってバイト数が異なり複数行コマンドの終端判定に失敗する。

解決策
日本語部分を独自に判定してバイト数のカウントを行うかとも思ったが
ちょっとアバウトすぎる。
正確にやるには一旦Unicodeに変換しなおしてUTF-8でのバイト長を求めるしかないが
ShiftJISに変換されているため日本語以外のマルチバイト文字が???に
なってしまっており変換できない。
というわけで保留。
msn.dllのソースを見るとデバッグ出力する直前にUTF-8からShiftJISに
変換しているようなのでUTF-8のまま渡してもらうようにすれば解決するはず。

LoggerかIRCに移行。
メールチェッカは後回しかな・・・


<2003/09/15 06:51:06>
Loggerの4つの既知の不具合のうち3つの解決策、
セッション状態の管理。
要は各イベントの際に以下の情報が足りないのでそれをLogger側で保持しておこうということ。

メッセージ
 無問題
セッション開始 Session/Members/OnAdd && FromAccount == LogAccount
 FromNameが利用不可
セッション終了(メンバ離脱時) Session/Members/OnRemove && FromAccount == LogAccount
 FromNameが利用不可
セッション終了(ユーザ離脱時) Session/OnClose
 ConnectionID,Protocol,MyAccount,LogAccount,FromAccount,FromNameが利用不可
入室 Session/Members/OnAdd && FromAccount != LogAccount
 FromNameが利用不可
退室 Session/Members/OnRemove && FromAccount != LogAccount
 FromNameが利用不可


<2003/09/15 08:24:47>
LoggerのためのテストをやっていたらComLogのかなり致命的なバグを発見…。
どうせなのでマルチラインバグもアバウトな方法でとりあえず対応。

Visual Studio最高、ってことで。



memo.cgi 2002-10-05