From: Lennart Poettering Date: Mon, 15 Nov 2021 08:32:41 +0000 (+0100) Subject: docs: mention RET_NERRNO() in CODING_STYLE.md X-Git-Tag: v250-rc1~248 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=947796eac385651f6a66fc0ce925a301b49f6fa4;p=thirdparty%2Fsystemd.git docs: mention RET_NERRNO() in CODING_STYLE.md --- 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"