From: Simon Glass Date: Fri, 2 May 2025 14:46:32 +0000 (-0600) Subject: expo: Use an abuf to hold strings X-Git-Tag: v2025.10-rc1~118^2~56^2~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8636da86a2fb5f5f1a571f6cb3f12c0e8c207698;p=thirdparty%2Fu-boot.git expo: Use an abuf to hold strings 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 --- diff --git a/boot/expo.c b/boot/expo.c index 301bbfa5f9a..debdb60022b 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; };