[RFC PATCH 04/11] boot: pxe_utils: Use strlower() in get_string()

Simon Glass sjg at chromium.org
Fri May 15 22:32:55 CEST 2026


The copy loop hand-rolls a per-character branch on the 'lower' flag.
Split it into a straight memcpy() followed by an optional strlower()
so the common path is a single copy and the lowercase case is obvious.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 boot/pxe_utils.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c
index 419ab1f1b0e..098ee9bbbfe 100644
--- a/boot/pxe_utils.c
+++ b/boot/pxe_utils.c
@@ -950,7 +950,7 @@ enum lex_state {
 static char *get_string(char **p, struct token *t, char delim, int lower)
 {
 	char *b, *e;
-	size_t len, i;
+	size_t len;
 
 	/*
 	 * b and e both start at the beginning of the input stream.
@@ -976,14 +976,10 @@ static char *get_string(char **p, struct token *t, char delim, int lower)
 	if (!t->val)
 		return NULL;
 
-	for (i = 0; i < len; i++, b++) {
-		if (lower)
-			t->val[i] = tolower(*b);
-		else
-			t->val[i] = *b;
-	}
-
+	memcpy(t->val, b, len);
 	t->val[len] = '\0';
+	if (lower)
+		strlower(t->val);
 
 	/* Update *p so the caller knows where to continue scanning */
 	*p = e;
-- 
2.43.0



More information about the U-Boot mailing list