「真 = 1 = trueで、偽 = 0 = false」じゃないんですか??!
BSDの`false`のソース見ると、
{
return 1;
}
と、「1」が返されてるんですが・・・。
本来0を返すんじゃないんでしょうか?