[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: APR_UINT64_FMT_T in localised format strings

From: Branko Čibej <brane_at_wandisco.com>
Date: Mon, 21 Oct 2013 07:17:44 +0200

On 20.10.2013 22:39, Stefan Fuhrmann wrote:
> On Sun, Oct 20, 2013 at 1:51 PM, Branko Čibej <brane_at_wandisco.com
> <mailto:brane_at_wandisco.com>> wrote:
> On 20.10.2013 12:23, Mattias Engdegård wrote:
>> Localised strings must consist entirely of literals; they cannot
>> contain preprocessor macros. For example, svnserve/serve.c:2234 has
>> return svn_error_createf(SVN_ERR_RA_SVN_MALFORMED_DATA, NULL,
>> _("Invalid move_behavior value %"
>> APR_UINT64_T_FMT " in log command"),
>> move_behavior_param);
>> I suppose the current practice is to format the numbers to
>> separate strings and include them using %s in the localised string.
> Thanks for the report, Mattias!
> Fix committed in r1533970.
> Not at all ... the translator should be free to change the number
> formatting, so changing them to %s would not be correct, IMO. On
> the other hand, I can't really think of a better solution, offhand.
>> (If it were up to me, I'd just make %lld (etc) work in all format
>> strings and be done with it.)
> Unfortunately that assumes that %lld is a valid formatting
> placeholder. That is not the case on all platforms with all compilers.
> There is a nice double-escapement trick used in other places already.

Ah, good one.

-- Brane

Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. brane_at_wandisco.com
Received on 2013-10-21 07:18:45 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.