2020年

3月8日

だいぶ前から、BTS(影舞)から送られてくるバグ報告のメールの本文が文字化けするようになっていました。長年放置していましたが、今回調べてみたところ、本文の文字コードは JIS ですが、メールヘッダに Content-Type: の指定がないため、メーラで正しく表示されないことが原因のようでした。そこで、応急処置として、BTS(影舞)を以下のように修正したところ、メーラで正しく表示されるようになりました。

--- mailer.rb.bak       2020-03-08 08:16:24.417151324 +0900
+++ mailer.rb   2020-03-08 08:47:41.344970850 +0900
@@ -75,7 +75,9 @@
STDOUT.reopen(pipe_cw)
STDERR.reopen(pipe_cw)

-        exec(@mail_command.untaint, '-s', subject.untaint, to.dup.untaint)
+        #exec(@mail_command.untaint, '-s', subject.untaint, to.dup.untaint)
+        exec(@mail_command.untaint, '-a', 'Content-Type: text/plain; charset="ISO-2022-JP"', '-s', subject.untaint, to.dup.untaint)
}

pipe_cw.close

3月6日

いつの間にか、BTS(影舞)の管理モードに入ろうとすると Internal Server Error が表示されるようになっていました。調べたところ、kagemai/project/_tmp に大量の一時ファイルが溜まっており、それを Dir.glob で列挙しようとして失敗していたようでした。手動で一時ファイルを削除したところ、管理モードに入れるようになりました。

バグ報告「自サーバーからのダウンロードが止まる・strspにrender-font-outlineが反映されない」を元に、文字列スプライトの描画のバグを修正しました。アルファブレンディング処理に間違いがあり、strsp 命令で影指定を 0 にしても文字の輪郭が描画されているように見えていました。

2月23日

Debian の公式パッケージを管理していただいている Paul さんからのバグ報告を元に、文字コードが UTF-8 の場合に、clickWait と clickNewPage 内で clickstr 命令で指定された強制クリック文字が正しく処理されないバグを修正しました。また、メールで Paul さんに返信したのですが宛先エラーになってしまいました。

最新の環境でビルドした Android 版を実行すると、Lua で以下のエラーが発生するようになりました。

FORTIFY: strchr: prevented read past end of buffer
そこで、Android 版 SDK を更新して、Lua の Android.mk に FORTIFY を抑制する以下のオプションを追加しました。
LOCAL_CFLAGS := -D_FORTIFY_SOURCE=0

1月14日

バグ報告「Windowsでのコンパイルの問題」を元に、ONScripter on Windows の関連ライブラリのソースを更新し、libpng と zlib をビルドする際に「警告をエラーとして扱う」を「いいえ」に設定(/WX- オプションを指定)するようにしました。