chiark / gitweb /
tree-wide: make use of memory_startswith() at various places
authorLennart Poettering <lennart@poettering.net>
Wed, 30 May 2018 11:09:03 +0000 (13:09 +0200)
committerSven Eden <yamakuzure@gmx.net>
Fri, 24 Aug 2018 14:47:08 +0000 (16:47 +0200)
src/basic/log.c
src/libelogind/sd-bus/bus-socket.c

index 6fe3a8fb138eb0f5d4fc5d7c0a544ee8ec21cc95..a506d30d3ab7cdae6721f49999f0cd8088775886 100644 (file)
@@ -1055,13 +1055,9 @@ int log_struct_iovec_internal(
                         return -error;
         }
 
-        for (i = 0; i < n_input_iovec; i++) {
-                if (input_iovec[i].iov_len < STRLEN("MESSAGE="))
-                        continue;
-
-                if (memcmp(input_iovec[i].iov_base, "MESSAGE=", STRLEN("MESSAGE=")) == 0)
+        for (i = 0; i < n_input_iovec; i++)
+                if (memory_startswith(input_iovec[i].iov_base, input_iovec[i].iov_len, "MESSAGE="))
                         break;
-        }
 
         if (_unlikely_(i >= n_input_iovec)) /* Couldn't find MESSAGE=? */
                 return -error;
index 04839bada415d544db18f6b290dc8453f0424007..57c5391423edaded64e704672b8a859806e7693f 100644 (file)
@@ -248,16 +248,13 @@ static bool line_equals(const char *s, size_t m, const char *line) {
 }
 
 static bool line_begins(const char *s, size_t m, const char *word) {
-        size_t l;
-
-        l = strlen(word);
-        if (m < l)
-                return false;
+        const char *p;
 
-        if (memcmp(s, word, l) != 0)
+        p = memory_startswith(s, m, word);
+        if (!p)
                 return false;
 
-        return m == l || (m > l && s[l] == ' ');
+        return IN_SET(*p, 0, ' ');
 }
 
 static int verify_anonymous_token(sd_bus *b, const char *p, size_t l) {