path-util: add path_extract_directory(), to match path_extract_filename()
authorLennart Poettering <lennart@poettering.net>
Tue, 26 Jan 2021 11:28:23 +0000 (12:28 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 2 Mar 2021 14:07:11 +0000 (15:07 +0100)
commit8dcb891c199aeb22fe0fe3e8d1f830c0de8a0c24
tree6a66ed1b78adf49ef8d77b48a43f557afa779c15
parent7e40042b55c245ffd449e764edfc4dd7c0aa0094
path-util: add path_extract_directory(), to match path_extract_filename()

These two together are a lot like dirname() + basename() but have the
benefit that they return clear errors when one passes a special case
path to them where the extraction doesn't make sense, i.e. "", "/",
"foo", "foo/" and so on.

Sooner or later we should probably port all our uses of
dirname()/basename() over to this, to catch these special cases more
safely.
src/basic/path-util.c
src/basic/path-util.h
src/test/test-path-util.c