From: Lennart Poettering Date: Wed, 30 May 2018 11:09:03 +0000 (+0200) Subject: tree-wide: make use of memory_startswith() at various places X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=75c9c5614f87ac2aee5633759e178b12e149209d;p=elogind.git tree-wide: make use of memory_startswith() at various places --- diff --git a/src/basic/log.c b/src/basic/log.c index 6fe3a8fb1..a506d30d3 100644 --- a/src/basic/log.c +++ b/src/basic/log.c @@ -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; diff --git a/src/libelogind/sd-bus/bus-socket.c b/src/libelogind/sd-bus/bus-socket.c index 04839bada..57c539142 100644 --- a/src/libelogind/sd-bus/bus-socket.c +++ b/src/libelogind/sd-bus/bus-socket.c @@ -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) {