On 10/5/23 12:47, Oliver Steffen wrote:
> 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':

Acked-by: Laszlo Ersek <ler...@redhat.com>


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to