summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2014-02-21 12:11:59 -0500
committerAnthony G. Basile <blueness@gentoo.org>2014-02-21 12:11:59 -0500
commit153929b11e2d1545d61fdfe85dec5e7883679f3e (patch)
tree60053440ea0e5990aa677e8c636ea0e8b5873ef3 /src
parent306c786fdcca7e75268ed9903367b0fd32db5502 (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.h3
-rw-r--r--src/libudev/util.c11
-rw-r--r--src/libudev/util.h1
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) {