This reverts commit f82dbf2bd871e9cce327b511a393ffa543d7f69e.
Signed-off-by: Oliver Steffen <[email protected]>
---
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
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel