Commit report for master branch
p.mayers at imperial.ac.uk
Wed Oct 17 10:26:35 CEST 2012
On 10/17/2012 09:04 AM, Brian Candler wrote:
> Aside: this uses "%u", sizeof(...) for the first argument. Is it guaranteed
> that sizeof() is int on all platforms?
Very much not. sizeof returns size_t which is always unsigned (so never
"int"), but otherwise implementation (compiler) dependent. In principle
"%zu" is the correct format spec. However, I'm not sure how widely
supported that is on older compilers - even on current ones.
> I guess if there's any doubt,
> "%lu", (long)sizeof(...)
> should be pretty safe.
Yuck. Cast of unsigned to signed :oP
TBH it's a fairly theoretical argument; sizeof is used on objects whose
size tends to be in the range 1-100k and specified at compile time. The
odds of sizeof ever returning >2**31 are very, very remote, at least
with current system architectures.
More information about the Freeradius-Devel