ctdb-build: Use CTDB_ETCDIR instead of ETCDIR/ctdb
[metze/samba/wip.git] / README.Coding
index 8416290861026cd262916f2e8df2872644999516..107856e45f17c78cdec8acada0ea0e66282cfec9 100644 (file)
@@ -367,3 +367,27 @@ Bad Example:
        ret = some_function_my_name(get_some_name());
        ...
 
+Control-Flow changing macros
+----------------------------
+
+Macros like NT_STATUS_NOT_OK_RETURN that change control flow
+(return/goto/etc) from within the macro are considered bad, because
+they look like function calls that never change control flow. Please
+do not use them in new code.
+
+The only exception is the test code that depends repeated use of calls
+like CHECK_STATUS, CHECK_VAL and others.
+
+
+Function names in DEBUG statements
+----------------------------------
+
+Many DEBUG statements contain the name of the function they appear in. This is
+not a good idea, as this is prone to bitrot. Function names change, code
+moves, but the DEBUG statements are not adapted. Use %s and __func__ for this:
+
+Bad Example:
+       DEBUG(0, ("strstr_m: src malloc fail\n"));
+
+Good Example:
+       DEBUG(0, ("%s: src malloc fail\n", __func__));