Even before Doxygen gained Markdown support, empty lines were considered as paragraphs. Changelogs indicate that this was the case since at least the doxygen 1.2 series (where I found a mentiond that something around this behaviour was fixed). So at least works in Doxygen versions released after 2001 [1]. [1] https://sourceforge.net/p/doxygen/mailman/message/172899/ Signed-off-by: Erik Schilling <erik.schilling@xxxxxxxxxx> --- include/gpiod.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/gpiod.h b/include/gpiod.h index 71ae798..be51c3a 100644 --- a/include/gpiod.h +++ b/include/gpiod.h @@ -22,11 +22,11 @@ extern "C" { * This is the complete documentation of the public API made available to * users of libgpiod. * - * <p>The API is logically split into several sections. For each opaque data + * The API is logically split into several sections. For each opaque data * class, there's a set of functions for manipulating it. Together they can be * thought of as objects and their methods in OOP parlance. * - * <p>General note on error handling: all functions exported by libgpiod that + * General note on error handling: all functions exported by libgpiod that * can fail, set errno to one of the error values defined in errno.h upon * failure. The way of notifying the caller that an error occurred varies * between functions, but in general a function that returns an int, returns -1 @@ -35,7 +35,7 @@ extern "C" { * codes for every function as they propagate errors from the underlying libc * functions. * - * <p>In general libgpiod functions are NULL-aware. For functions that are + * In general libgpiod functions are NULL-aware. For functions that are * logically methods of data classes - ones that take a pointer to the object * of that class as the first argument - passing a NULL pointer will result in * the program aborting the execution. For non-methods, init functions and -- 2.41.0