[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Build failures on Ubuntu due to gettext
From: |
Colin Watson |
Subject: |
Build failures on Ubuntu due to gettext |
Date: |
Mon, 7 Dec 2009 14:09:23 +0000 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
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?
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,
--
Colin Watson address@hidden
- Build failures on Ubuntu due to gettext,
Colin Watson <=
Re: Build failures on Ubuntu due to gettext, Vladimir 'φ-coder/phcoder' Serbinenko, 2009/12/07