printf: Fix and test %% behaviour in presence of subsequenbt args.

This commit is contained in:
Vladimir Serbinenko 2016-02-12 12:33:41 +01:00
parent d9a3bfead8
commit e5c9300191
2 changed files with 10 additions and 0 deletions

View file

@ -740,6 +740,12 @@ parse_printf_args (const char *fmt0, struct printf_args *args,
fmt++;
c = *fmt++;
if (c == '%')
{
n--;
continue;
}
if (c == 'l')
{
c = *fmt++;
@ -876,6 +882,7 @@ grub_vsnprintf_real (char *str, grub_size_t max_len, const char *fmt0,
if (c == '%')
{
write_char (str, &count, max_len,c);
n--;
continue;
}