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.
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
039dd4afd6
commit
f8294e4175
+1
-1
@@ -65,7 +65,7 @@ static int apply_sysctl(const char *property, const char *value) {
|
||||
|
||||
log_debug("Setting '%s' to '%s'", property, value);
|
||||
|
||||
p = new(char, sizeof("/proc/sys/") + strlen(property));
|
||||
p = new(char, strlen("/proc/sys/") + strlen(property) + 1);
|
||||
if (!p)
|
||||
return log_oom();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user