On Tuesday 15 August 2006 18:13, Frank Cusack wrote:
> On August 15, 2006 4:53:52 PM +0200 Christian Iversen

wrote:
> > On Tuesday 15 August 2006 16:43, Chris Rapier wrote:
> >> Christian Iversen wrote:
> >> >>>>> + logit("Accounting: Bytes in/out: %ld/%ld", bytes_in, bytes_out);
> >> >>>>
> >> >>>> bytes_in and bytes_out are unsigned but the format string is
> >> >>>> signed.
> >> >>>
> >> >>> Oops, my bad. Indeed, that would be a problem if the user
> >> >>> transferred more bytes than there are atoms in the universe ;-)
> >> >>
> >> >> Yeah, it's not something that people are likely hit in an enormous
> >> >> hurry
> >> >>
> >> >> :-)
> >> >
> >> > Not really, no ;-)
> >>
> >> Based on the amount of data we're moving around at the US supercomputing
> >> centers I'd say you have 5 to 7 years at the outside.

> >
> > Well, one extra bit is really only going to help another 5 or 7 years
> > then. We should clearly all use 128-bit numbers right away ;-)

>
> Isn't long (and u_long) 32 bits on ILP32? Or is u_long really uint64_t.


Well, it seems you're right. On gcc-linux-i386, there's absolutely no
difference in size between "unsigned long int" and "unsigned int".

I didn't expect that, but then again C is not my primary language.

What type should I use instead? Is uint64_t sufficiently portable?

--
Regards,
Christian Iversen
_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@mindrot.org
http://lists.mindrot.org/mailman/lis...enssh-unix-dev