cvs commit: src UPDATING src/include fts.h src/lib/libc/gen
Makefile.inc Symbol.map fts-compat.c fts-compat.h fts.3 fts.c
src/sys/sys param.h
Erik Trulsson
ertr1013 at student.uu.se
Mon Jan 28 03:36:24 PST 2008
On Mon, Jan 28, 2008 at 11:55:29AM +0100, Dag-Erling Smørgrav wrote:
> Yar Tikhiy <yar at comp.chem.msu.su> writes:
> > Excuse me, but did you notice that fts(3) is not a part of sys? It's
> > generic userland code, albeit it's contaminated by system-dependent
> > parts for performance or whatever.
>
> Irrelevant.
>
> > But let intN_t be mostly confined in the kernel and system-dependent
> > userland code. E.g., system-dependent include files can use them
> > to define more portable types such as ino_t, nlink_t, or whatever.
>
> C99 doesn't define those either.
>
> > Userland code should be portable and useful to other systems in the
> > chosen domain of compatibility, e.g., C99 or POSIX, unless there
> > are substantial reasons for it not to. That's how different projects
> > can benefit from each other's work.
>
> Both C99 and POSIX *require* int64_t and uint64_t on all platforms that
> have 64-bit integer types.
>
> FreeBSD has never run on any platform that doesn't. I don't think
> NetBSD or OpenBSD has either, nor Solaris, nor Linux to my knowledge.
Those are all good reasons for why using 'int64_t' would be OK.
None of it is a reason for why using 'long long' would not be OK when you
want at least 64 bits, but do not require exactly 64 bits.
--
<Insert your favourite quote here.>
Erik Trulsson
ertr1013 at student.uu.se
More information about the cvs-src
mailing list