]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
doc: say in CODING_STYLE that AT_EMPTY_PATH should be implied on openat() style APIs...
authorLennart Poettering <lennart@poettering.net>
Tue, 25 Apr 2023 11:56:20 +0000 (13:56 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 25 Apr 2023 12:05:08 +0000 (14:05 +0200)
As discussed here:

https://github.com/systemd/systemd/pull/27397#issuecomment-1521630044

docs/CODING_STYLE.md

index 1a044c023ac7973b5c8bde88bb24f6e9533bcbfa..f76525205fdd261450a539d5c0e2d412e132e38f 100644 (file)
@@ -613,6 +613,15 @@ SPDX-License-Identifier: LGPL-2.1-or-later
   effect on the regular file. If in doubt consider turning off `O_NONBLOCK`
   again after opening.
 
+- These days we generally prefer `openat()`-style file APIs, i.e. APIs that
+  accept a combination of file descriptor and path string, and where the path
+  (if not absolute) is considered relative to the specified file
+  descriptor. When implementing library calls in similar style, please make
+  sure to imply `AT_EMPTY_PATH` if an empty or `NULL` path argument is
+  specified (and convert that latter to an empty string). This differs from the
+  underlying kernel semantics, where `AT_EMPTY_PATH` must always be specified
+  explicitly, and `NULL` is not acepted as path.
+
 ## Command Line
 
 - If you parse a command line, and want to store the parsed parameters in