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

Christoph Mallon christoph.mallon at gmx.de
Mon Jan 28 04:47:15 PST 2008


Erik Trulsson wrote:
> 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.

How about int_least64_t? It's a required type of at least 64bits.
I'd like my bikeshed green with yellow dots, please.

Regards
	Christoph


More information about the cvs-src mailing list