From: Yu Watanabe Date: Wed, 24 Apr 2019 23:19:07 +0000 (+0200) Subject: util: introduce PTR_TO_MODE and MODE_TO_PTR macros X-Git-Tag: v243-rc1~328^2~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=961189af2a6969bddae4d3759defff5027b5701a;p=thirdparty%2Fsystemd.git util: introduce PTR_TO_MODE and MODE_TO_PTR macros --- diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h index c153bc4448d..c5527cc44fd 100644 --- a/src/basic/fs-util.h +++ b/src/basic/fs-util.h @@ -14,6 +14,13 @@ #include "errno-util.h" #include "time-util.h" +#define MODE_INVALID ((mode_t) -1) + +/* The following macros add 1 when converting things, since 0 is a valid mode, while the pointer + * NULL is special */ +#define PTR_TO_MODE(p) ((mode_t) ((uintptr_t) (p)-1)) +#define MODE_TO_PTR(u) ((void *) ((uintptr_t) (u)+1)) + int unlink_noerrno(const char *path); int rmdir_parents(const char *path, const char *stop); diff --git a/src/basic/parse-util.h b/src/basic/parse-util.h index 7f5b0cf2b48..5a05dfeac55 100644 --- a/src/basic/parse-util.h +++ b/src/basic/parse-util.h @@ -9,8 +9,6 @@ #include "macro.h" -#define MODE_INVALID ((mode_t) -1) - int parse_boolean(const char *v) _pure_; int parse_dev(const char *s, dev_t *ret); int parse_pid(const char *s, pid_t* ret_pid);