On Thu, May 6, 2021 at 1:50 PM Daniel Shahaf <d...@daniel.shahaf.name> wrote:

> Nathan Hartman wrote on Thu, 06 May 2021 17:31 +00:00:
> > On Tue, Mar 16, 2021 at 3:08 AM <futat...@apache.org> wrote:
> > > @@ -691,17 +691,20 @@ compare_p2l_to_rev(svn_fs_t *fs,
> > >             * during later stages of the verification process. */
> > >            if (   (entry->type == SVN_FS_FS__ITEM_TYPE_CHANGES)
> > >                != (entry->item.number ==
> SVN_FS_FS__ITEM_INDEX_CHANGES))
> > > -            return svn_error_createf(SVN_ERR_FS_INDEX_CORRUPTION,
> > > -                                     NULL,
> > > -                                     _("p2l index entry for changes
> in"
> > > -                                       " revision r%ld is item"
> > > -                                       " %"APR_UINT64_T_FMT
> > > -                                       " of type %u at offset %s"),
> > > -                                     entry->item.revision,
> > > -                                     entry->item.number,
> > > -                                     (unsigned int)entry->type,
> > > -                                     apr_off_t_toa(pool, offset));
> > > -
> > > +            {
> > > +              const char *num_str = apr_psprintf(pool,
> > > +                                                 "%" APR_UINT64_T_FMT,
> > > +                                                 entry->item.number);
> > > +              return svn_error_createf(SVN_ERR_FS_INDEX_CORRUPTION,
> > > +                                       NULL,
> > > +                                       _("p2l index entry for changes
> in"
> > > +                                         " revision r%ld is item %s"
> > > +                                         " of type %u at offset %s"),
> > > +                                       entry->item.revision,
> > > +                                       num_str,
> > > +                                       (unsigned int)entry->type,
> > > +                                       apr_off_t_toa(pool, offset));
> > > +            }
> > >            /* Check contents. */
> > >            if (entry->type == SVN_FS_FS__ITEM_TYPE_UNUSED)
> > >              {
> >
> >
> > I must be missing something obvious, but I don't see what was broken
> > about the way entry->item.number was formatted before?
>
> The i18n tooling that extracts _("foo" "bar") string literals for
> translation doesn't handle strings with macro expansions [1], so we jump
> through the hoops of using %s instead.
>
> [1]
> https://www.gnu.org/software/gettext/manual/gettext.html#Preparing-Strings,
> grep for «MYPRId64».
>

Ah, thank you. That makes much more sense now.

Nathan

Reply via email to