mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-20 22:48:22 +00:00
i18n: Format large integers before the translation message
The GNU gettext only supports the ISO C99 macros for integral types. If there is a need to use unsupported formatting macros, e.g. PRIuGRUB_UINT64_T, according to [1] the number to a string conversion should be separated from the code printing message requiring the internationalization. So, the function grub_snprintf() is used to print the numeric values to an intermediate buffer and the internationalized message contains a string format directive. [1] https://www.gnu.org/software/gettext/manual/html_node/Preparing-Strings.html#No-string-concatenation Signed-off-by: Miguel Ángel Arruga Vivas <rosen644835@gmail.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
1 parent
e48fc8880d
commit
837fe48deb
7 files changed
+51
-25
No files matched your search
@@ -176,10 +176,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
|
||||
& 0x1fff);
|
||||
break;
|
||||
default:
|
||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||
N_("relocation 0x%" PRIxGRUB_UINT64_T
|
||||
" is not implemented yet"),
|
||||
ELF_R_TYPE (rel->r_info));
|
||||
{
|
||||
char rel_info[17]; /* log16(2^64) = 16, plus NUL. */
|
||||
|
||||
grub_snprintf (rel_info, sizeof (rel_info) - 1, "%" PRIxGRUB_UINT64_T,
|
||||
ELF_R_TYPE (rel->r_info));
|
||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||
N_("relocation 0x%s is not implemented yet"), rel_info);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user