From: Phillip Wood Date: Mon, 19 Oct 2026 13:58:10 GMT Subject: Re: [PATCH] archive-zip: refactor 'path too long' error message to use Q_() Message-ID: <96187a3b-411c-42bd-8979-fb45006daa34@gmail.com> In-Reply-To: <20261019084427.1879-1-kerylefondji7@gmail.com> Hi Keryle On 19/10/2026 09:44, kerylefondji7@gmail.com wrote: > From: Keryle Fondji > > The error message used "chars" even when pathlen was 1. Looking at the code below, pathlen has to be longer than 0xffff to trigger this message. However there can be more than one form of the plural string though. The gettext manual has the following example of the Polish translation of "file" for different numbers of files [1] 1 plik 2,3,4 pliki 5-21 plików 22-24 pliki 25-31 plików so using Q_() is correct, but we should explain that it is to accommodate different plural forms, rather than because pathlen can be 1. Thanks Phillip [1] https://www.gnu.org/software/gettext/manual/gettext.html#Additional-functions-for-plural-forms > > Replace _() with Q_() to handle both singular and plural forms > correctly depending on the value of pathlen. > > Signed-off-by: Keryle Fondji > --- > archive-zip.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/archive-zip.c b/archive-zip.c > index 6f73ca6d58..e4f8ef5a36 100644 > --- a/archive-zip.c > +++ b/archive-zip.c > @@ -328,7 +328,7 @@ static int write_zip_entry(struct archiver_args *args, > } > > if (pathlen > 0xffff) { > - return error(_("path too long (%d chars, SHA1: %s): %s"), > + return error(Q_("path too long (%d char, SHA1: %s): %s", "path too long (%d chars, SHA1: %s): %s", pathlen), > (int)pathlen, oid_to_hex(oid), path); > } >