Re: [PATCH] archive-zip: refactor 'path too long' error message to use Q_()
Phillip Wood <phillip.wood123@gmail.com> writes:
Show 20 quoted lines
> Hi Keryle
>
> On 19/10/2026 09:44, kerylefondji7@gmail.com wrote:
>> From: Keryle Fondji <kerylefondji7@gmail.com>
>>
>> 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.
>> Replace _() with Q_() to handle both singular and plural forms
>> correctly depending on the value of pathlen.
Show 16 quoted lines
>> Signed-off-by: Keryle Fondji <kerylefondji7@gmail.com>
>> ---
>> 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);This is overly long and must be line-wrapped.
>> }
>>