Replace sizeof("string")-1 with strlen("string")
We want to avoid calls to strlen at runtime if the string is already known at compile time. Turns out that gcc and clang will recognize constant strings and compute the strlen result already at compile time, so trickery with sizeof only reduces readability but does not improve the code.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-const_strlen/processor_enable.c =================================================================== --- flashrom-const_strlen/processor_enable.c (Revision 1183) +++ flashrom-const_strlen/processor_enable.c (Arbeitskopie) @@ -56,13 +56,13 @@ while (*ptr && isspace(*ptr)) ptr++; /* "cpu" part appears only with some Linux versions. */ - if (strncmp(ptr, "cpu", sizeof("cpu") - 1) == 0) - ptr += sizeof("cpu") - 1; + if (strncmp(ptr, "cpu", strlen("cpu")) == 0) + ptr += strlen("cpu"); while (*ptr && isspace(*ptr)) ptr++; - if (strncmp(ptr, "model", sizeof("model") - 1) != 0) + if (strncmp(ptr, "model", strlen("model")) != 0) continue; - ptr += sizeof("model") - 1; + ptr += strlen("model"); while (*ptr && isspace(*ptr)) ptr++; if (*ptr != ':') @@ -72,9 +72,9 @@ ptr++; fclose(cpuinfo); return (strncmp(ptr, "ICT Loongson-2 V0.3", - sizeof("ICT Loongson-2 V0.3") - 1) == 0) + strlen("ICT Loongson-2 V0.3")) == 0) || (strncmp(ptr, "Godson2 V0.3 FPU V0.1", - sizeof("Godson2 V0.3 FPU V0.1") - 1) == 0); + strlen("Godson2 V0.3 FPU V0.1")) == 0); } fclose(cpuinfo); return 0;