From a98dc693e417bc1a813d5fe1eac663dbbf5ee91c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 19 Nov 2018 13:24:34 +0100 Subject: [PATCH] CODING_STYLE: fix rules for STRLEN and recommend strjoina more strongly Again, this mostly matches what is happening in the codebase already. --- docs/CODING_STYLE.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/CODING_STYLE.md b/docs/CODING_STYLE.md index abcdaab4aca..e70c56b766b 100644 --- a/docs/CODING_STYLE.md +++ b/docs/CODING_STYLE.md @@ -373,12 +373,16 @@ something some time", or so is a lazy excuse. Always wait for the proper event, instead of doing time-based poll loops. -- To determine the length of a constant string `"foo"`, don't bother - with `sizeof("foo")-1`, please use `STRLEN()` instead. - -- If you want to concatenate two or more strings, consider using - `strjoin()` rather than `asprintf()`, as the latter is a lot - slower. This matters particularly in inner loops. +- To determine the length of a constant string `"foo"`, don't bother with + `sizeof("foo")-1`, please use `strlen()` instead (both gcc and clang optimize + the call away for fixed strings). The only exception is when declaring an + array. In that case use STRLEN, which evalutates to a static constant and + doesn't force the compiler to create a VLA. + +- If you want to concatenate two or more strings, consider using `strjoina()` + or `strjoin()` rather than `asprintf()`, as the latter is a lot slower. This + matters particularly in inner loops (but note that `strjoina()` cannot be + used there). - Please avoid using global variables as much as you can. And if you do use them make sure they are static at least, instead of -- 2.47.3