This reverts commit f82dbf2bd871e9cce327b511a393ffa543d7f69e. Signed-off-by: Oliver Steffen <ostef...@redhat.com> --- grub-core/kern/misc.c | 81 +++++++++++-------------------------------- 1 file changed, 21 insertions(+), 60 deletions(-)
diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c index b57249acb..0854fefc0 100644 --- a/grub-core/kern/misc.c +++ b/grub-core/kern/misc.c @@ -24,7 +24,6 @@ #include <grub/term.h> #include <grub/env.h> #include <grub/i18n.h> -#include <grub/types.h> #include <grub/charset.h> union printf_arg @@ -36,8 +35,7 @@ union printf_arg { INT, LONG, LONGLONG, UNSIGNED_INT = 3, UNSIGNED_LONG, UNSIGNED_LONGLONG, - STRING, - GUID + STRING } type; long long ll; }; @@ -781,9 +779,6 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args, switch (c) { case 'p': - if (*(fmt) == 'G') - ++fmt; - /* Fall through. */ case 'x': case 'X': case 'u': @@ -899,10 +894,6 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args, args->ptr[curn].type = UNSIGNED_LONGLONG; else args->ptr[curn].type = UNSIGNED_INT; - if (*(fmt) == 'G') { - args->ptr[curn].type = GUID; - ++fmt; - } break; case 's': args->ptr[curn].type = STRING; @@ -944,7 +935,6 @@ parse_printf_args (const char *fmt0, struct printf_args *args, va_list args_in) args->ptr[n].ll = va_arg (args_in, long long); break; case STRING: - case GUID: if (sizeof (void *) == sizeof (long long)) args->ptr[n].ll = va_arg (args_in, long long); else @@ -962,27 +952,6 @@ write_char (char *str, grub_size_t *count, grub_size_t max_len, unsigned char ch (*count)++; } -static void -write_number (char *str, grub_size_t *count, grub_size_t max_len, grub_size_t format1, - char rightfill, char zerofill, char c, long long value) -{ - char tmp[32]; - const char *p = tmp; - grub_size_t len; - grub_size_t fill; - - len = grub_lltoa (tmp, c, value) - tmp; - fill = len < format1 ? format1 - len : 0; - if (! rightfill) - while (fill--) - write_char (str, count, max_len, zerofill); - while (*p) - write_char (str, count, max_len, *p++); - if (rightfill) - while (fill--) - write_char (str, count, max_len, zerofill); -} - static int grub_vsnprintf_real (char *str, grub_size_t max_len, const char *fmt0, struct printf_args *args) @@ -1065,40 +1034,32 @@ grub_vsnprintf_real (char *str, grub_size_t max_len, const char *fmt0, switch (c) { case 'p': - if (*(fmt) == 'G') - { - ++fmt; - grub_guid_t *guid = (grub_guid_t *)(grub_addr_t) curarg; - write_number (str, &count, max_len, 8, 0, '0', 'x', guid->data1); - write_char (str, &count, max_len, '-'); - write_number (str, &count, max_len, 4, 0, '0', 'x', guid->data2); - write_char (str, &count, max_len, '-'); - write_number (str, &count, max_len, 4, 0, '0', 'x', guid->data3); - write_char (str, &count, max_len, '-'); - write_number (str, &count, max_len, 2, 0, '0', 'x', guid->data4[0]); - write_number (str, &count, max_len, 2, 0, '0', 'x', guid->data4[1]); - write_char (str, &count, max_len, '-'); - write_number (str, &count, max_len, 2, 0, '0', 'x', guid->data4[2]); - write_number (str, &count, max_len, 2, 0, '0', 'x', guid->data4[3]); - write_number (str, &count, max_len, 2, 0, '0', 'x', guid->data4[4]); - write_number (str, &count, max_len, 2, 0, '0', 'x', guid->data4[5]); - write_number (str, &count, max_len, 2, 0, '0', 'x', guid->data4[6]); - write_number (str, &count, max_len, 2, 0, '0', 'x', guid->data4[7]); - break; - } - else - { - write_char (str, &count, max_len, '0'); - write_char (str, &count, max_len, 'x'); - c = 'x'; - } + write_char (str, &count, max_len, '0'); + write_char (str, &count, max_len, 'x'); + c = 'x'; /* Fall through. */ case 'x': case 'X': case 'u': case 'd': case 'o': - write_number (str, &count, max_len, format1, rightfill, zerofill, c, curarg); + { + char tmp[32]; + const char *p = tmp; + grub_size_t len; + grub_size_t fill; + + len = grub_lltoa (tmp, c, curarg) - tmp; + fill = len < format1 ? format1 - len : 0; + if (! rightfill) + while (fill--) + write_char (str, &count, max_len, zerofill); + while (*p) + write_char (str, &count, max_len, *p++); + if (rightfill) + while (fill--) + write_char (str, &count, max_len, zerofill); + } break; case 'c': -- 2.41.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel