diff --git a/ChangeLog b/ChangeLog index 694a26114..50948c697 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-12-21 Vladimir Serbinenko + + Inline printf templates when possible to enable format checking. + 2013-12-21 Vladimir Serbinenko * include/grub/crypto.h: Don't discard const attribute. diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c index 4c57e090b..c36663f73 100644 --- a/grub-core/normal/main.c +++ b/grub-core/normal/main.c @@ -194,14 +194,13 @@ grub_normal_init_page (struct grub_term_output *term, { grub_ssize_t msg_len; int posx; - const char *msg = _("GNU GRUB version %s"); char *msg_formatted; grub_uint32_t *unicode_msg; grub_uint32_t *last_position; grub_term_cls (term); - msg_formatted = grub_xasprintf (msg, PACKAGE_VERSION); + msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION); if (!msg_formatted) return; @@ -350,13 +349,13 @@ static grub_err_t grub_normal_reader_init (int nested) { struct grub_term_output *term; - const char *msg = _("Minimal BASH-like line editing is supported. For " - "the first word, TAB lists possible command completions. Anywhere " - "else TAB lists possible device or file completions. %s"); const char *msg_esc = _("ESC at any time exits."); char *msg_formatted; - msg_formatted = grub_xasprintf (msg, nested ? msg_esc : ""); + msg_formatted = grub_xasprintf (_("Minimal BASH-like line editing is supported. For " + "the first word, TAB lists possible command completions. Anywhere " + "else TAB lists possible device or file completions. %s"), + nested ? msg_esc : ""); if (!msg_formatted) return grub_errno; diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c index 90f63f0da..2ff294101 100644 --- a/grub-core/normal/menu_text.c +++ b/grub-core/normal/menu_text.c @@ -165,11 +165,11 @@ command-line or ESC to discard edits and return to the GRUB menu."), } else { - const char *msg = _("Use the %C and %C keys to select which " - "entry is highlighted."); char *msg_translated; - msg_translated = grub_xasprintf (msg, GRUB_UNICODE_UPARROW, + msg_translated = grub_xasprintf (_("Use the %C and %C keys to select which " + "entry is highlighted."), + GRUB_UNICODE_UPARROW, GRUB_UNICODE_DOWNARROW); if (!msg_translated) return 0; @@ -430,9 +430,6 @@ grub_menu_init_page (int nested, int edit, static void menu_text_print_timeout (int timeout, void *dataptr) { - const char *msg = - _("The highlighted entry will be executed automatically in %ds."); - const char *msg_terse = _("%ds"); struct menu_viewer_data *data = dataptr; char *msg_translated = 0; @@ -441,9 +438,9 @@ menu_text_print_timeout (int timeout, void *dataptr) if (data->timeout_msg == TIMEOUT_TERSE || data->timeout_msg == TIMEOUT_TERSE_NO_MARGIN) - msg_translated = grub_xasprintf (msg_terse, timeout); + msg_translated = grub_xasprintf (_("%ds"), timeout); else - msg_translated = grub_xasprintf (msg, timeout); + msg_translated = grub_xasprintf (_("The highlighted entry will be executed automatically in %ds."), timeout); if (!msg_translated) { grub_print_error (); @@ -459,7 +456,7 @@ menu_text_print_timeout (int timeout, void *dataptr) if (data->timeout_msg == TIMEOUT_TERSE) { grub_free (msg_translated); - msg_translated = grub_xasprintf (msg_terse, timeout); + msg_translated = grub_xasprintf (_("%ds"), timeout); if (grub_term_width (data->term) < 10) data->timeout_msg = TIMEOUT_TERSE_NO_MARGIN; } diff --git a/grub-core/osdep/unix/getroot.c b/grub-core/osdep/unix/getroot.c index 3e40d9942..3a938edc4 100644 --- a/grub-core/osdep/unix/getroot.c +++ b/grub-core/osdep/unix/getroot.c @@ -443,17 +443,18 @@ grub_find_device (const char *dir, dev_t dev) /* Found! */ char *res; char *cwd; -#if defined(__NetBSD__) || defined(__OpenBSD__) - /* Convert this block device to its character (raw) device. */ - const char *template = "%s/r%s"; -#else - /* Keep the device name as it is. */ - const char *template = "%s/%s"; -#endif cwd = xgetcwd (); res = xmalloc (strlen (cwd) + strlen (ent->d_name) + 3); - sprintf (res, template, cwd, ent->d_name); + sprintf (res, +#if defined(__NetBSD__) || defined(__OpenBSD__) + /* Convert this block device to its character (raw) device. */ + "%s/r%s", +#else + /* Keep the device name as it is. */ + "%s/%s", +#endif + cwd, ent->d_name); strip_extra_slashes (res); free (cwd);