mirror of
https://github.com/systemd/systemd.git
synced 2024-10-28 20:25:38 +03:00
Add hasprefix macro to check prefixes of fixed length
This commit is contained in:
parent
1021b21bc6
commit
fd59d9f298
@ -245,7 +245,7 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) {
|
||||
|
||||
have_syslog_identifier = have_syslog_identifier ||
|
||||
(c == (char *) iov[i].iov_base + 17 &&
|
||||
memcmp(iov[i].iov_base, "SYSLOG_IDENTIFIER", 17) == 0);
|
||||
hasprefix(iov[i].iov_base, "SYSLOG_IDENTIFIER"));
|
||||
|
||||
nl = memchr(iov[i].iov_base, '\n', iov[i].iov_len);
|
||||
if (nl) {
|
||||
|
@ -158,23 +158,23 @@ void server_process_native_message(
|
||||
* of this entry for the rate limiting
|
||||
* logic */
|
||||
if (l == 10 &&
|
||||
memcmp(p, "PRIORITY=", 9) == 0 &&
|
||||
hasprefix(p, "PRIORITY=") &&
|
||||
p[9] >= '0' && p[9] <= '9')
|
||||
priority = (priority & LOG_FACMASK) | (p[9] - '0');
|
||||
|
||||
else if (l == 17 &&
|
||||
memcmp(p, "SYSLOG_FACILITY=", 16) == 0 &&
|
||||
hasprefix(p, "SYSLOG_FACILITY=") &&
|
||||
p[16] >= '0' && p[16] <= '9')
|
||||
priority = (priority & LOG_PRIMASK) | ((p[16] - '0') << 3);
|
||||
|
||||
else if (l == 18 &&
|
||||
memcmp(p, "SYSLOG_FACILITY=", 16) == 0 &&
|
||||
hasprefix(p, "SYSLOG_FACILITY=") &&
|
||||
p[16] >= '0' && p[16] <= '9' &&
|
||||
p[17] >= '0' && p[17] <= '9')
|
||||
priority = (priority & LOG_PRIMASK) | (((p[16] - '0')*10 + (p[17] - '0')) << 3);
|
||||
|
||||
else if (l >= 19 &&
|
||||
memcmp(p, "SYSLOG_IDENTIFIER=", 18) == 0) {
|
||||
hasprefix(p, "SYSLOG_IDENTIFIER=")) {
|
||||
char *t;
|
||||
|
||||
t = strndup(p + 18, l - 18);
|
||||
@ -183,7 +183,7 @@ void server_process_native_message(
|
||||
identifier = t;
|
||||
}
|
||||
} else if (l >= 8 &&
|
||||
memcmp(p, "MESSAGE=", 8) == 0) {
|
||||
hasprefix(p, "MESSAGE=")) {
|
||||
char *t;
|
||||
|
||||
t = strndup(p + 8, l - 8);
|
||||
|
@ -555,22 +555,22 @@ static int bus_match_find_leaf(
|
||||
enum bus_match_node_type bus_match_node_type_from_string(const char *k, size_t n) {
|
||||
assert(k);
|
||||
|
||||
if (n == 4 && memcmp(k, "type", 4) == 0)
|
||||
if (n == 4 && hasprefix(k, "type"))
|
||||
return BUS_MATCH_MESSAGE_TYPE;
|
||||
if (n == 6 && memcmp(k, "sender", 6) == 0)
|
||||
if (n == 6 && hasprefix(k, "sender"))
|
||||
return BUS_MATCH_SENDER;
|
||||
if (n == 11 && memcmp(k, "destination", 11) == 0)
|
||||
if (n == 11 && hasprefix(k, "destination"))
|
||||
return BUS_MATCH_DESTINATION;
|
||||
if (n == 9 && memcmp(k, "interface", 9) == 0)
|
||||
if (n == 9 && hasprefix(k, "interface"))
|
||||
return BUS_MATCH_INTERFACE;
|
||||
if (n == 6 && memcmp(k, "member", 6) == 0)
|
||||
if (n == 6 && hasprefix(k, "member"))
|
||||
return BUS_MATCH_MEMBER;
|
||||
if (n == 4 && memcmp(k, "path", 4) == 0)
|
||||
if (n == 4 && hasprefix(k, "path"))
|
||||
return BUS_MATCH_PATH;
|
||||
if (n == 14 && memcmp(k, "path_namespace", 14) == 0)
|
||||
if (n == 14 && hasprefix(k, "path_namespace"))
|
||||
return BUS_MATCH_PATH_NAMESPACE;
|
||||
|
||||
if (n == 4 && memcmp(k, "arg", 3) == 0) {
|
||||
if (n == 4 && hasprefix(k, "arg")) {
|
||||
int j;
|
||||
|
||||
j = undecchar(k[3]);
|
||||
@ -580,7 +580,7 @@ enum bus_match_node_type bus_match_node_type_from_string(const char *k, size_t n
|
||||
return BUS_MATCH_ARG + j;
|
||||
}
|
||||
|
||||
if (n == 5 && memcmp(k, "arg", 3) == 0) {
|
||||
if (n == 5 && hasprefix(k, "arg")) {
|
||||
int a, b;
|
||||
enum bus_match_node_type t;
|
||||
|
||||
@ -596,7 +596,7 @@ enum bus_match_node_type bus_match_node_type_from_string(const char *k, size_t n
|
||||
return t;
|
||||
}
|
||||
|
||||
if (n == 8 && memcmp(k, "arg", 3) == 0 && memcmp(k + 4, "path", 4) == 0) {
|
||||
if (n == 8 && hasprefix(k, "arg") && hasprefix(k + 4, "path")) {
|
||||
int j;
|
||||
|
||||
j = undecchar(k[3]);
|
||||
@ -606,7 +606,7 @@ enum bus_match_node_type bus_match_node_type_from_string(const char *k, size_t n
|
||||
return BUS_MATCH_ARG_PATH + j;
|
||||
}
|
||||
|
||||
if (n == 9 && memcmp(k, "arg", 3) == 0 && memcmp(k + 5, "path", 4) == 0) {
|
||||
if (n == 9 && hasprefix(k, "arg") && hasprefix(k + 5, "path")) {
|
||||
enum bus_match_node_type t;
|
||||
int a, b;
|
||||
|
||||
@ -622,7 +622,7 @@ enum bus_match_node_type bus_match_node_type_from_string(const char *k, size_t n
|
||||
return t;
|
||||
}
|
||||
|
||||
if (n == 13 && memcmp(k, "arg", 3) == 0 && memcmp(k + 4, "namespace", 9) == 0) {
|
||||
if (n == 13 && hasprefix(k, "arg") && hasprefix(k + 4, "namespace")) {
|
||||
int j;
|
||||
|
||||
j = undecchar(k[3]);
|
||||
@ -632,7 +632,7 @@ enum bus_match_node_type bus_match_node_type_from_string(const char *k, size_t n
|
||||
return BUS_MATCH_ARG_NAMESPACE + j;
|
||||
}
|
||||
|
||||
if (n == 14 && memcmp(k, "arg", 3) == 0 && memcmp(k + 5, "namespace", 9) == 0) {
|
||||
if (n == 14 && hasprefix(k, "arg") && hasprefix(k + 5, "namespace")) {
|
||||
enum bus_match_node_type t;
|
||||
int a, b;
|
||||
|
||||
|
@ -438,7 +438,7 @@ static int output_export(
|
||||
/* We already printed the boot id, from the data in
|
||||
* the header, hence let's suppress it here */
|
||||
if (length >= 9 &&
|
||||
memcmp(data, "_BOOT_ID=", 9) == 0)
|
||||
hasprefix(data, "_BOOT_ID="))
|
||||
continue;
|
||||
|
||||
if (!utf8_is_printable(data, length)) {
|
||||
|
@ -186,6 +186,8 @@ static inline size_t ALIGN_TO(size_t l, size_t ali) {
|
||||
|
||||
#define char_array_0(x) x[sizeof(x)-1] = 0;
|
||||
|
||||
#define hasprefix(s, prefix) (memcmp(s, prefix, strlen(prefix)) == 0)
|
||||
|
||||
#define IOVEC_SET_STRING(i, s) \
|
||||
do { \
|
||||
struct iovec *_i = &(i); \
|
||||
|
Loading…
Reference in New Issue
Block a user