Ian Abbott wrote in <e425c569-0ec9-0761-b73d-d179ee2f9818@mev.co.uk>: |On 05/01/2023 13:29, Ian Abbott via tz wrote: |> On 05/01/2023 08:49, Guy Harris via tz wrote: |>> On Jan 4, 2023, at 5:03 PM, Paul Eggert via tz <tz@iana.org> wrote: ... |>> Is there a reason for doing |>> |>> char const *e = strerror(errno); |>> fprintf(stderr, _("%s: setenv: %s\n"), progname, e); |>> |>> rather than |>> |>> fprintf(stderr, _("%s: setenv: %s\n"), progname, strerror(errno)); |> |> That depends whether _("string") preserves errno or not. | |The Linux man page for GNU gettext claims that errno is not modified, |but the NetBSD man page for Citrus gettext makes no such claim. Better |safe than sorry! It is about to be standardized by POSIX in the next issue, and they have put plenty of time (with lots of input) to nail it. (Not online to read the actual text ... (I personally never liked it, it would require ({..})-style right-hand-side injections to make it neat for me; i remember pretty surely that GNU was using this for that around Y2K, but unfortunately it never was standardized.) ..Better simply use a dedicated dictionary.) --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)