2012-08-16

ウンコード

今日全然関係ないコードを追っかけてたら、こんな感じのコードを発見した。(以下の例は結構はしょってるからわかりやすいけど、元のコードはいろんなことしてるから大変わかりずらい)
int64_t now();
..
char *updateTime;
...
if (LL_CMP(updateTime, >, now()) {
  toBeRescheduled = true;
}
なんでWarningとかErrorにならないかと思ったら、
# define LL_CMP(a, b, c) ((uint64_t)a b (uint64_t)c)
マジかよ。これが原因ぽいバグが4年前からあるっぽいんですけど。。。

0 件のコメント: