[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Build failures on Ubuntu due to gettext
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: Build failures on Ubuntu due to gettext |
Date: |
Mon, 07 Dec 2009 23:04:52 +0100 |
User-agent: |
Mozilla-Thunderbird 2.0.0.22 (X11/20091109) |
Colin Watson wrote:
> Ubuntu's GCC enables -Wformat-security by default. This causes GCC to
> (IMO rightly!) complain about constructs such as this:
>
> grub_printf (_("foo"));
>
> ... because it's all too easy for a translator to (usually accidentally)
> insert % sequences which would cause printf to behave incorrectly. This
> should instead be:
>
> grub_printf ("%s", _("foo"));
>
> Patch follows. I can't help thinking that this would be easier with a
> grub_puts, but perhaps that isn't worth it given the relatively small
> number of occurrences here?
>
> Also, should the line in notify_execution_failure instead be:
>
> - grub_printf (_("Failed to boot default entries.\n"));
> + grub_printf ("%s\n", _("Failed to boot default entries."));
>
> ... to get rid of the unsightly \n in this translated string?
>
This warning is simply wrong in this context. And silencing it is
against gettext manual. Read
http://www.gnu.org/software/hello/manual/gettext/Preparing-Strings.html
http://www.gnu.org/software/hello/manual/gettext/c_002dformat-Flag.html#c_002dformat-Flag
> 2009-12-07 Colin Watson <address@hidden>
>
> * normal/menu_entry.c (run): Don't pass the result of gettext as
> the first argument to grub_printf, appeasing -Wformat-security.
> (grub_menu_entry_run): Likewise.
> * normal/menu_text.c (grub_wait_after_message): Likewise.
> (print_message): Likewise.
> (notify_execution_failure): Likewise.
>
> === modified file 'normal/menu_entry.c'
> --- normal/menu_entry.c 2009-12-05 11:25:07 +0000
> +++ normal/menu_entry.c 2009-12-07 14:02:20 +0000
> @@ -1000,7 +1000,7 @@ run (struct screen *screen)
>
> grub_cls ();
> grub_printf (" ");
> - grub_printf (_("Booting a command list"));
> + grub_printf ("%s", _("Booting a command list"));
> grub_printf ("\n\n");
>
>
> @@ -1182,6 +1182,6 @@ grub_menu_entry_run (grub_menu_entry_t e
> grub_print_error ();
> grub_errno = GRUB_ERR_NONE;
> grub_putchar ('\n');
> - grub_printf (_("Press any key to continue..."));
> + grub_printf ("%s", _("Press any key to continue..."));
> (void) grub_getkey ();
> }
>
> === modified file 'normal/menu_text.c'
> --- normal/menu_text.c 2009-12-05 11:25:07 +0000
> +++ normal/menu_text.c 2009-12-07 14:02:45 +0000
> @@ -40,7 +40,7 @@ void
> grub_wait_after_message (void)
> {
> grub_putchar ('\n');
> - grub_printf (_("Press any key to continue..."));
> + grub_printf ("%s", _("Press any key to continue..."));
> (void) grub_getkey ();
> grub_putchar ('\n');
> }
> @@ -206,7 +206,7 @@ entry is highlighted.");
> if (nested)
> {
> grub_printf ("\n ");
> - grub_printf (_("ESC to return previous menu."));
> + grub_printf ("%s", _("ESC to return previous menu."));
> }
> }
> }
> @@ -655,7 +655,7 @@ notify_execution_failure (void *userdata
> grub_errno = GRUB_ERR_NONE;
> }
> grub_printf ("\n ");
> - grub_printf (_("Failed to boot default entries.\n"));
> + grub_printf ("%s", _("Failed to boot default entries.\n"));
> grub_wait_after_message ();
> }
>
>
> Thanks,
>
>
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature
Re: Build failures on Ubuntu due to gettext,
Vladimir 'φ-coder/phcoder' Serbinenko <=
- Re: Build failures on Ubuntu due to gettext, Colin Watson, 2009/12/07
- Re: Build failures on Ubuntu due to gettext, Colin Watson, 2009/12/07
- Re: Build failures on Ubuntu due to gettext, Vladimir 'φ-coder/phcoder' Serbinenko, 2009/12/07
- Re: Build failures on Ubuntu due to gettext, Colin Watson, 2009/12/07
- Re: Build failures on Ubuntu due to gettext, Vladimir 'φ-coder/phcoder' Serbinenko, 2009/12/07
- Re: Build failures on Ubuntu due to gettext, Carles Pina i Estany, 2009/12/09
- Re: Build failures on Ubuntu due to gettext, Carles Pina i Estany, 2009/12/09
- Re: Build failures on Ubuntu due to gettext, Carles Pina i Estany, 2009/12/09
Re: Build failures on Ubuntu due to gettext, Robert Millan, 2009/12/09
Re: Build failures on Ubuntu due to gettext, Carles Pina i Estany, 2009/12/10