Re: AC_SYS_LARGEFILE

Evgeny Grin <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.general
Message-ID <[email protected]>

On 21.09.2023 0:49, Paul Eggert wrote:
> On 2023-09-20 05:52, Evgeny Grin wrote:
>> If you need have a function with "file offset" argument then use 
>> either 'uint64_t'
> 
> Although your other advice is good, this one is suspect. I'm glad I 
> didn't follow similar advice to use 'int32_t' or 'long' for file offsets 
> back in the day.

Most probably 9 petabytes limitation (int64_t) would be sufficient for 
direct file addressing for the next two decades or a bit longer.
Your public API will likely evolve by this time, and you'll add new 
functionality as needed.

> Also, to be pedantic, the types int64_t and uint64_t are optional in 
> POSIX, and portable programs shouldn't use them unconditionally.

Yes, '[u]int64_t' is optional. Actually, '[u]int32_t' is optional too 
(according to C99), so a very portable programs may avoid it as well. 
However, in practice, any modern platform supports it, so if you want to 
limit your portability to realistic scenarios, you may safely use them.

For higher portability you may use '[u]int_least32_t' and 
'[u]int_least64_t', both are mandatory.

-- 
Evgeny
OpenPGP_0x460A317C3326D2AE.asc (application/pgp-keys, 3.9 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=JMK1
-----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc (application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEE6oEtvvpafvF9qPLBRgoxfDMm0q4FAmUL+0oFAwAAAAAACgkQRgoxfDMm0q7I
DhAAs1n8JL+eDUKoZKYtm9iKX7+b2+HwDPgOw47Jc5eOFTbhhAhTNNdAX5JGTeF7FvyPQdCWk4EH
fTc3NxWSmQqASmcJoLwSvp+o2yzvIMgl5528S/GE46584h4YuQADcdIob9CDMZpZeYlo4pU0Uic8
XWDMk6hcwJOpt6QhOQZGq6sHjbzvXKNC7XWP4nQ75MhjRDK0rvzoHxL3f9cnBQk8+N38qO8uxnTU
ARM+O3qFDFkSpnMzjkyXTdxCaLIEcgzQ+gvj98eVRItT/FZlxdvkKjWTPSsAzbFJWme2TcOQ/MTo
I2YwXjgMrsW5wTABxlCCsNRCxzytrQ4i6xq7oRqVKZoEMJcVfLiPSjHd563/A6/ofd3k0wful0gZ
+x639drYkeAO4+h0SUhoWEEWhdvYG/FUr4DKm2Z3EQo328oqZUD7GszmIe/oBgcwk/eNe1lDeHa5
9INpVjqbWauVFXGI4p7CZc2gRvCS/LSlCbUhwmPeIk8x3+qwN687PVVe8BmY4IO0Fi07mhbThbha
sX1MhzdlJtI6cCscAu4zfSDJS7ol9IOG+ugYmar05GSjx7zbZ30EyiQiBs86lT4lIs7PG0kZkdl3
CMl2GupUzASb+esEQD4QNH5PObxI9V1Gl1W6Bnnt9tlQXREFEZQct56EXxl4Z/wtYp8n0ktrlbd5
gk8=
=xRx0
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.