diff options
author | Josh Triplett <josh@joshtriplett.org> | 2014-03-15 11:40:07 -0700 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-03-16 09:52:56 -0400 |
commit | f8294e4175918117ca6c131720bcf287eadcd029 (patch) | |
tree | c5b2f4d3088fbd4fd75989b3f7eed128681951e1 /src/udev/udev-rules.c | |
parent | 039dd4afd64a8c8413ff28d43f533c30c5a06a16 (diff) |
Use strlen even for constant strings
GCC optimizes strlen("string constant") to a constant, even with -O0.
Thus, replace patterns like sizeof("string constant")-1 with
strlen("string constant") where possible, for clarity. In particular,
for expressions intended to add up the lengths of components going into
a string, this often makes it clearer that the expression counts the
trailing '\0' exactly once, by putting the +1 for the '\0' at the end of
the expression, rather than hidden in a sizeof in the middle of the
expression.
Diffstat (limited to 'src/udev/udev-rules.c')
-rw-r--r-- | src/udev/udev-rules.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index 47bde618d6..26302640a6 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -1142,7 +1142,7 @@ static int add_rule(struct udev_rules *rules, char *line, } if (startswith(key, "ATTR{")) { - attr = get_key_attribute(rules->udev, key + sizeof("ATTR")-1); + attr = get_key_attribute(rules->udev, key + strlen("ATTR")); if (attr == NULL) { log_error("error parsing ATTR attribute"); goto invalid; @@ -1156,7 +1156,7 @@ static int add_rule(struct udev_rules *rules, char *line, } if (startswith(key, "SECLABEL{")) { - attr = get_key_attribute(rules->udev, key + sizeof("SECLABEL")-1); + attr = get_key_attribute(rules->udev, key + strlen("SECLABEL")); if (!attr) { log_error("error parsing SECLABEL attribute"); goto invalid; @@ -1198,7 +1198,7 @@ static int add_rule(struct udev_rules *rules, char *line, log_error("invalid ATTRS operation"); goto invalid; } - attr = get_key_attribute(rules->udev, key + sizeof("ATTRS")-1); + attr = get_key_attribute(rules->udev, key + strlen("ATTRS")); if (attr == NULL) { log_error("error parsing ATTRS attribute"); goto invalid; @@ -1223,7 +1223,7 @@ static int add_rule(struct udev_rules *rules, char *line, } if (startswith(key, "ENV{")) { - attr = get_key_attribute(rules->udev, key + sizeof("ENV")-1); + attr = get_key_attribute(rules->udev, key + strlen("ENV")); if (attr == NULL) { log_error("error parsing ENV attribute"); goto invalid; @@ -1282,7 +1282,7 @@ static int add_rule(struct udev_rules *rules, char *line, } if (startswith(key, "IMPORT")) { - attr = get_key_attribute(rules->udev, key + sizeof("IMPORT")-1); + attr = get_key_attribute(rules->udev, key + strlen("IMPORT")); if (attr == NULL) { log_error("IMPORT{} type missing, ignoring IMPORT %s:%u", filename, lineno); continue; @@ -1328,7 +1328,7 @@ static int add_rule(struct udev_rules *rules, char *line, log_error("invalid TEST operation"); goto invalid; } - attr = get_key_attribute(rules->udev, key + sizeof("TEST")-1); + attr = get_key_attribute(rules->udev, key + strlen("TEST")); if (attr != NULL) { mode = strtol(attr, NULL, 8); rule_add_key(&rule_tmp, TK_M_TEST, op, value, &mode); @@ -1339,7 +1339,7 @@ static int add_rule(struct udev_rules *rules, char *line, } if (startswith(key, "RUN")) { - attr = get_key_attribute(rules->udev, key + sizeof("RUN")-1); + attr = get_key_attribute(rules->udev, key + strlen("RUN")); if (attr == NULL) attr = "program"; |