- Never use g_malloc() or g_malloc0(). These functions do not return NULL
if not enough memory is available but rather lead to an exit() or segfault
- instead. This behaviour is not acceptable for libsigrok.
+ instead. This behaviour is not acceptable for libraries.
Use g_try_malloc()/g_try_malloc0() instead and check the return value.
- - libsigrok should never print any messages (neither to stdout nor stderr nor
+ - You should never print any messages (neither to stdout nor stderr nor
elsewhere) "manually" via e.g. printf() or g_log() or similar functions.
Only sr_err()/sr_warn()/sr_info()/sr_dbg()/sr_spew() should be used.
should end with "_all", e.g. "_remove_all", "_get_all", and so on.
Use "_remove_all" in favor of "_clear" for consistency.
+
+Doxygen
+-------
+
- In Doxygen comments, put an empty line between the block of @param lines
and the final @return line. The @param lines themselves (if there is more
than one) are not separated by empty lines.
+ - Mark private functions (SR_PRIV) with /** @private */, so that Doxygen
+ doesn't include them in the output. Functions that are "static" anyway
+ don't need to be marked like this.
+
+ - Mark private variables/#defines with /** @cond PRIVATE */ and
+ /** @endcond */, so that Doxygen doesn't include them in the output.
+ Variables that are "static" don't need to be marked like this.
+
Release engineering
-------------------