From 947796eac385651f6a66fc0ce925a301b49f6fa4 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 15 Nov 2021 09:32:41 +0100 Subject: [PATCH] docs: mention RET_NERRNO() in CODING_STYLE.md --- docs/CODING_STYLE.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/CODING_STYLE.md b/docs/CODING_STYLE.md index 34e04ed735a..eba1e1444e6 100644 --- a/docs/CODING_STYLE.md +++ b/docs/CODING_STYLE.md @@ -285,6 +285,25 @@ SPDX-License-Identifier: LGPL-2.1-or-later one cause, it *really* should have an `int` as the return value for the error code. +- libc system calls typically return -1 on error (with the error code in + `errno`), and >= 0 on success. Use the RET_NERRNO() helper if you are looking + for a simple way to convert this libc style error returning into systemd + style error returning. e.g. + + ```c + … + r = RET_NERRNO(unlink(t)); + … + ``` + + or + + ```c + … + r = RET_NERRNO(open("/some/file", O_RDONLY|O_CLOEXEC)); + … + ``` + - Do not bother with error checking whether writing to stdout/stderr worked. - Do not log errors from "library" code, only do so from "main program" -- 2.47.3