summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libudev/device-nodes.c1
-rw-r--r--src/libudev/path-util.c31
-rw-r--r--src/libudev/path-util.h12
-rw-r--r--src/udev/Makefile.am2
-rw-r--r--src/udev/path-util.c57
-rw-r--r--src/udev/path-util.h26
6 files changed, 39 insertions, 90 deletions
diff --git a/src/libudev/device-nodes.c b/src/libudev/device-nodes.c
index c548f1ffff..9efafaf548 100644
--- a/src/libudev/device-nodes.c
+++ b/src/libudev/device-nodes.c
@@ -21,6 +21,7 @@
#include <stdlib.h>
#include <stdio.h>
+#include <string.h>
#include <stdint.h>
#include <sys/types.h>
diff --git a/src/libudev/path-util.c b/src/libudev/path-util.c
index 417450f283..616577088c 100644
--- a/src/libudev/path-util.c
+++ b/src/libudev/path-util.c
@@ -331,3 +331,34 @@ fallback:
return a.st_dev != b.st_dev;
}
+
+bool paths_check_timestamp(char **paths, usec_t *paths_ts_usec, bool update)
+{
+ unsigned int i;
+ bool changed = false;
+
+ if (paths == NULL)
+ goto out;
+
+ for (i = 0; paths[i]; i++) {
+ struct stat stats;
+
+ if (stat(paths[i], &stats) < 0)
+ continue;
+
+ if (paths_ts_usec[i] == timespec_load(&stats.st_mtim))
+ continue;
+
+ /* first check */
+ if (paths_ts_usec[i] != 0) {
+ log_debug("reload - timestamp of '%s' changed\n", paths[i]);
+ changed = true;
+ }
+
+ /* update timestamp */
+ if (update)
+ paths_ts_usec[i] = timespec_load(&stats.st_mtim);
+ }
+out:
+ return changed;
+}
diff --git a/src/libudev/path-util.h b/src/libudev/path-util.h
index 653ae8d7c8..0b7577ff4f 100644
--- a/src/libudev/path-util.h
+++ b/src/libudev/path-util.h
@@ -1,9 +1,5 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
-#pragma once
-
/***
- This file is part of systemd.
+ This file is part of eudev, forked from systemd.
Copyright 2010-2012 Lennart Poettering
@@ -22,6 +18,10 @@
***/
#include <stdbool.h>
+#include <inttypes.h>
+
+typedef uint64_t usec_t;
+typedef uint64_t nsec_t;
char* path_get_file_name(const char *p) _pure_;
int path_get_parent(const char *path, char **parent);
@@ -35,3 +35,5 @@ char** path_strv_canonicalize(char **l);
char** path_strv_canonicalize_uniq(char **l);
int path_is_mount_point(const char *path, bool allow_symlink);
+
+bool paths_check_timestamp(char **paths, usec_t *paths_ts_usec, bool update);
diff --git a/src/udev/Makefile.am b/src/udev/Makefile.am
index bf23ea63d4..d395620abb 100644
--- a/src/udev/Makefile.am
+++ b/src/udev/Makefile.am
@@ -58,7 +58,6 @@ libudev_core_la_SOURCES = \
dev-setup.c \
label.c \
mkdir.c \
- path-util.c \
smack-util.c
if ENABLE_FIRMWARE
@@ -70,7 +69,6 @@ noinst_HEADERS = \
dev-setup.h \
label.h \
mkdir.h \
- path-util.h \
smack-util.h
include_HEADERS = \
diff --git a/src/udev/path-util.c b/src/udev/path-util.c
deleted file mode 100644
index 17650be086..0000000000
--- a/src/udev/path-util.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/***
- This file is part of eudev, forked from systemd.
-
- Copyright 2010-2012 Lennart Poettering
-
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
-***/
-
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include "util.h"
-#include "path-util.h"
-
-bool paths_check_timestamp(char **paths, usec_t *paths_ts_usec, bool update)
-{
- unsigned int i;
- bool changed = false;
-
- if (paths == NULL)
- goto out;
-
- for (i = 0; paths[i]; i++) {
- struct stat stats;
-
- if (stat(paths[i], &stats) < 0)
- continue;
-
- if (paths_ts_usec[i] == timespec_load(&stats.st_mtim))
- continue;
-
- /* first check */
- if (paths_ts_usec[i] != 0) {
- log_debug("reload - timestamp of '%s' changed\n", paths[i]);
- changed = true;
- }
-
- /* update timestamp */
- if (update)
- paths_ts_usec[i] = timespec_load(&stats.st_mtim);
- }
-out:
- return changed;
-}
diff --git a/src/udev/path-util.h b/src/udev/path-util.h
deleted file mode 100644
index ceaaded284..0000000000
--- a/src/udev/path-util.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/***
- This file is part of eudev, forked from systemd.
-
- Copyright 2010-2012 Lennart Poettering
-
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
-***/
-
-#include <stdbool.h>
-#include <inttypes.h>
-
-typedef uint64_t usec_t;
-typedef uint64_t nsec_t;
-
-bool paths_check_timestamp(char **paths, usec_t *paths_ts_usec, bool update);