Lech Lorens wrote:

> On 23-May-2010 Dominique Pellé <[email protected]> wrote:
> > James Vega wrote:
> > 
> > > Since Vim can now open “largefiles† on 32-bit systems, there are some
> > > changes necessary to properly store/access the size of those files.
> > > This is easy to see as when you open a largefile, the status message
> > > showing the number of lines and characters in the file will have a
> > > negative number of characters for largefiles since the 32-bit long was
> > > overflowed.
> > >
> > > The attached patch (generated against 7d3cf4693a8f) changes the relevant
> > > buffer size pieces of the code to use off_t instead of long.
> > > Unfortunately, there isn't a standard way to format off_t for
> > > printf-style functions, so that required some preprocessor checks for
> > > what to use. Â There may be a better way to do that, but it worked for
> > > me.
> > >
> > > I've tested this on Windows with VS Express 2008 and Linux (both 32-bit
> > > and 64-bit environments).
> > 
> > 
> > Hi James
> > 
> > This chunk...
> > 
> > @@ -5062,7 +5062,7 @@
> >         if (nchars == 1)
> >             STRCPY(p, _("1 character"));
> >         else
> > -           sprintf((char *)p, _("%ld characters"), nchars);
> > +           sprintf((char *)p, _(PRINTF_OFF_T" characters"), nchars);
> >      }
> >  }
> > 
> > Changes the translated string in src/po/??.po files from:
> > 
> >   #, c-format
> >   msgid "%ld characters"
> > 
> > ... into:
> > 
> >   #, c-format
> > 
> > Notice that the %ld has disappeared in the po file. Isn't it an issue?
> >   msgid " characters"
> 
> I don't think there is such a problem - «PRINTF_OFF_T" characters"»
> becomes a single string before the call to _() takes place. This string
> can either be:
> - "%ld characters"
> or
> - "%lld characters"
> This means, there are now two versions of the translated text possible
> which should be taken into account.

This only works for modern compilers.  Older compilers don't have this
kind of compile-time string concatenation.  Therefore we don't use it in
the Vim source code.

-- 
>From "know your smileys":
 :-X    My lips are sealed

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui