[PATCH 26/52] expo: Use an abuf to hold strings
Simon Glass
sjg at chromium.org
Wed Mar 19 15:54:31 CET 2025
It is more convenient to put strings in an abuf so they can easily be
resized. Adjust the struct accordingly.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
boot/expo.c | 4 ++--
include/expo.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/boot/expo.c b/boot/expo.c
index ba052df932c..ee635116abc 100644
--- a/boot/expo.c
+++ b/boot/expo.c
@@ -86,7 +86,7 @@ int expo_str(struct expo *exp, const char *name, uint id, const char *str)
return log_msg_ret("obj", -ENOMEM);
estr->id = resolve_id(exp, id);
- estr->str = str;
+ abuf_init_const(&estr->buf, str, strlen(str) + 1);
list_add_tail(&estr->sibling, &exp->str_head);
return estr->id;
@@ -98,7 +98,7 @@ const char *expo_get_str(struct expo *exp, uint id)
list_for_each_entry(estr, &exp->str_head, sibling) {
if (estr->id == id)
- return estr->str;
+ return estr->buf.data;
}
return NULL;
diff --git a/include/expo.h b/include/expo.h
index 84dc77f771e..b6de0310071 100644
--- a/include/expo.h
+++ b/include/expo.h
@@ -134,12 +134,12 @@ struct expo {
* struct expo_string - a string that can be used in an expo
*
* @id: ID number of the string
- * @str: String
+ * @buf: String (contains nul terminator)
* @sibling: Node to link this object to its siblings
*/
struct expo_string {
uint id;
- const char *str;
+ struct abuf buf;
struct list_head sibling;
};
--
2.43.0
More information about the U-Boot
mailing list