[PATCH 2/2] blobmsg: Don't do at run-time what can be done at compile-time
Philip Prindeville
philipp at redfish-solutions.com
Fri Apr 14 11:37:06 PDT 2023
From: Philip Prindeville <philipp at redfish-solutions.com>
Repeatedly calling a run-time function like strlen() on an
invariant value is inefficient, especially if that value can be
computed once (at initialization) or better yet, computed at
compile-time.
Signed-off-by: Philip Prindeville <philipp at redfish-solutions.com>
---
blobmsg_json.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/blobmsg_json.c b/blobmsg_json.c
index dce81e991ef7b83ac4906bca6f875369d3057f36..ec8b482c30c96a355aca58651632bc509a16bedf 100644
--- a/blobmsg_json.c
+++ b/blobmsg_json.c
@@ -151,15 +151,15 @@ static bool blobmsg_puts(struct strbuf *s, const char *c, int len)
static void add_separator(struct strbuf *s)
{
- const char *indent_chars = "\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
+ const char indent_chars[] = "\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
size_t len;
if (!s->indent)
return;
len = s->indent_level + 1;
- if (len > strlen(indent_chars))
- len = strlen(indent_chars);
+ if (len > sizeof(indent_chars) - 1)
+ len = sizeof(indent_chars) - 1;
blobmsg_puts(s, indent_chars, len);
}
--
2.34.1
More information about the openwrt-devel
mailing list