Concurrent Clean : Clean Wiki

http://cleanoptenv.sourceforge.jp/
設置してみた。更新処理がただしく動作しない。

      • -

ページが1つも登録されていないと更新処理ができないのを忘れていた。
今は、正しく動作している。

      • -

と思ったら、更新日時が狂っていた。

      • -

なんか、time()関数が正しい値を返してくれていないみたいな。
どうも、0xFFFFFFFFに相当する値が返ってきているみたい。
計算途中で、0xFFFFFFFFになるみたい。どこだろうか?

      • -

これは正しい値を返すのに

*prNow = 0.0/86400.0 + 2440587.5;

これはダメ

time_t t;
t = 0;
*prNow = ((double)t)/86400.0 + 2440587.5;
      • -

NO_GETTODをdefineすると、上の現象が起こる。

      • -

どうやら、SQLite3側で"datetime('now','localtime')"という関数を使っていたのだけれど、この'localtime'のところの変換でも問題があったらしい。そのために、上の修正を行っても結果が変わらなかったらしい。
場合によって結果が変わったり変わらなかったりした理由は不明。しつこく追いかければもう少し分かるかもしれないけれど。