Browse Source

blobmsg: Don't do at run-time what can be done at compile-time

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@redfish-solutions.com>
Philip Prindeville 1 year ago
parent
commit
5893cf78da
1 changed files with 3 additions and 3 deletions
  1. 3 3
      blobmsg_json.c

+ 3 - 3
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);
 }