Use ~0ULL instead of ULLONG_MAX, otherwise it is broken on rhle5