commit 18115b5aa94d6242a75c2587cd0ff126704026a7
parent a374fa7285327a8cad33037e3c983bd14906a112
Author: Nick Mathewson <nickm@torproject.org>
Date: Tue, 1 Aug 2017 10:50:52 -0400
Document some operators usage conventions.
Diffstat:
1 file changed, 13 insertions(+), 0 deletions(-)
diff --git a/doc/HACKING/CodingStandards.md b/doc/HACKING/CodingStandards.md
@@ -175,6 +175,19 @@ old C functions. Use `strlcat`, `strlcpy`, or `tor_snprintf/tor_asprintf` inste
We don't call `memcmp()` directly. Use `fast_memeq()`, `fast_memneq()`,
`tor_memeq()`, or `tor_memneq()` for most purposes.
+Also see a longer list of functions to avoid in:
+https://people.torproject.org/~nickm/tor-auto/internal/this-not-that.html
+
+Other C conventions
+-------------------
+
+The `a ? b : c` trinary operator only goes inside other expressions;
+don't use it as a replacement for if. (You can ignore this inside macro
+definitions when necessary.)
+
+Assignment operators shouldn't nest inside other expressions. (You can
+ignore this inside macro definitions when necessary.)
+
Functions not to write
----------------------