diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2014-02-21 12:11:59 -0500 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2014-02-21 12:11:59 -0500 |
commit | 153929b11e2d1545d61fdfe85dec5e7883679f3e (patch) | |
tree | 60053440ea0e5990aa677e8c636ea0e8b5873ef3 /src | |
parent | 306c786fdcca7e75268ed9903367b0fd32db5502 (diff) |
Add missing REENABLE_WARNING and unlink_noerrno()
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/libudev/macro.h | 3 | ||||
-rw-r--r-- | src/libudev/util.c | 11 | ||||
-rw-r--r-- | src/libudev/util.h | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/libudev/macro.h b/src/libudev/macro.h index 088fcd2640..ac2a23f6aa 100644 --- a/src/libudev/macro.h +++ b/src/libudev/macro.h @@ -44,6 +44,9 @@ _Pragma("GCC diagnostic push"); \ _Pragma("GCC diagnostic ignored \"-Wformat-nonliteral\"") +#define REENABLE_WARNING \ + _Pragma("GCC diagnostic pop") + /* Rounds up */ #define ALIGN4(l) (((l) + 3) & ~3) diff --git a/src/libudev/util.c b/src/libudev/util.c index 93f60b8ec4..a0d7cac697 100644 --- a/src/libudev/util.c +++ b/src/libudev/util.c @@ -284,6 +284,17 @@ void close_nointr_nofail(int fd) { assert_se(close_nointr(fd) == 0); } +int unlink_noerrno(const char *path) { + PROTECT_ERRNO; + int r; + + r = unlink(path); + if (r < 0) + return -errno; + + return 0; +} + int safe_atou(const char *s, unsigned *ret_u) { char *x = NULL; unsigned long l; diff --git a/src/libudev/util.h b/src/libudev/util.h index 60ef764d97..33e9efbfab 100644 --- a/src/libudev/util.h +++ b/src/libudev/util.h @@ -328,6 +328,7 @@ static inline void _reset_errno_(int *saved_errno) { #define PROTECT_ERRNO _cleanup_(_reset_errno_) __attribute__((unused)) int _saved_errno_ = errno +int unlink_noerrno(const char *path); static inline void qsort_safe(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) { if (nmemb) { |