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

Yar Tikhiy yar at comp.chem.msu.su
Sat Jan 26 21:38:17 PST 2008


On Sat, Jan 26, 2008 at 08:33:34PM -0800, David O'Brien wrote:
> On Sat, Jan 26, 2008 at 05:09:41PM +0000, Yar Tikhiy wrote:
> >   o For things that should be at least 64 bits wide, use long long
> >     and not int64_t, as the latter is an optional type.
> 
> I don't follow - int64_t is an ISO-C99 type, and we have it in FreeBSD.
> Is this code expected to be taken from FreeBSD and used in some pre-C99
> system?

C99 explicitly says that any intN_t is an optional type[0].  E.g.,
a 96-bit system may choose not to provide int64_t if none of its
basic C types is 64 bits wide.  fts(3) is a purely userland library
which need not depend on a particular platform[1], so I did my best
to avoid any assumptions like, `There will never be a 96-bit system
around.'

[0] In my copy of N869 Draft it's in section 7.18.1.1, paragraph 3.
[1] Unfortunately, a lot of nonportability has crept into our
    implementation of it.

-- 
Yar


More information about the cvs-src mailing list