[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AC_SYS_LARGEFILE
From: |
Evgeny Grin |
Subject: |
Re: AC_SYS_LARGEFILE |
Date: |
Thu, 21 Sep 2023 11:14:02 +0300 |
User-agent: |
Mozilla Thunderbird |
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
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
- Re: AC_SYS_LARGEFILE, (continued)
- Re: AC_SYS_LARGEFILE, Nick Bowler, 2023/09/11
- Re: AC_SYS_LARGEFILE, Russ Allbery, 2023/09/11
- Re: AC_SYS_LARGEFILE, Paul Eggert, 2023/09/11
- Re: AC_SYS_LARGEFILE, Sébastien Hinderer, 2023/09/18
- Re: AC_SYS_LARGEFILE, Paul Eggert, 2023/09/18
- Re: AC_SYS_LARGEFILE, Sébastien Hinderer, 2023/09/19
- Re: AC_SYS_LARGEFILE, Paul Eggert, 2023/09/19
- Re: AC_SYS_LARGEFILE, Evgeny Grin, 2023/09/20
- Re: AC_SYS_LARGEFILE, Paul Eggert, 2023/09/20
- Re: AC_SYS_LARGEFILE,
Evgeny Grin <=
- Re: AC_SYS_LARGEFILE, Sébastien Hinderer, 2023/09/18
Re: AC_SYS_LARGEFILE, Sébastien Hinderer, 2023/09/13