summaryrefslogtreecommitdiff
path: root/src/libudev/util.c
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2013-07-31 12:52:39 -0400
committerIan Stakenvicius <axs@gentoo.org>2013-07-31 13:07:33 -0400
commit9a769172c3af6e9c51b7c55cb9df9fddcc13dbc6 (patch)
tree7ed816e3cf3b2cd8160e9e14723070f13d0f635e /src/libudev/util.c
parentaa417a4d83999f6d7f092161d5c411b8cbce9977 (diff)
Revert "static-nodes: remove creation of static nodes if HAVE_LIBKMOD"
This reverts commit aa417a4d83999f6d7f092161d5c411b8cbce9977. Preface: The kmod+tmpfiles static dev-node creation requires two commands to be executed at runtime -- it is not something that will automatically occur without a system's setup being explicitly designed or changed so that these commands are executed. Preface2: In order for the kmod+tmpfiles static dev-node creation to work properly, that -must- be executed at startup before {systemd-,}udevd starts. The reason for this is because udevd will only set permissions on those files at startup, and so if udevd starts beforehand then these nodes will exist with permissions that are (probably) too restrictive. The function in udevd which creates static-nodes is non-fatal and only updates mtime on the devnodes if they already exist. As such, if a system is configured to execute kmod+tmpfiles to create static-nodes, because that must occur first, eudev's udevd will not conflict. Also, if a system does not execute kmod+tmpfiles, then eudev will still create the static devnodes, even if kmod-14 or higher is installed. There *may* be a conflict if kmod+tmpfiles is executed after udevd starts, but as per "preface2" this is not a supported configuration. Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
Diffstat (limited to 'src/libudev/util.c')
-rw-r--r--src/libudev/util.c35
1 files changed, 0 insertions, 35 deletions
diff --git a/src/libudev/util.c b/src/libudev/util.c
index 61d000c350..f625cfe99b 100644
--- a/src/libudev/util.c
+++ b/src/libudev/util.c
@@ -664,41 +664,6 @@ int null_or_empty_path(const char *fn) {
return null_or_empty(&st);
}
-char hexchar(int x) {
- static const char table[16] = "0123456789abcdef";
-
- return table[x & 15];
-}
-
-char *xescape(const char *s, const char *bad) {
- char *r, *t;
- const char *f;
-
- /* Escapes all chars in bad, in addition to \ and all special
- * chars, in \xFF style escaping. May be reversed with
- * cunescape. */
-
- r = new(char, strlen(s) * 4 + 1);
- if (!r)
- return NULL;
-
- for (f = s, t = r; *f; f++) {
-
- if ((*f < ' ') || (*f >= 127) ||
- (*f == '\\') || strchr(bad, *f)) {
- *(t++) = '\\';
- *(t++) = 'x';
- *(t++) = hexchar(*f >> 4);
- *(t++) = hexchar(*f);
- } else
- *(t++) = *f;
- }
-
- *t = 0;
-
- return r;
-}
-
bool dirent_is_file_with_suffix(const struct dirent *de, const char *suffix) {
assert(de);