summaryrefslogtreecommitdiff
path: root/udev/udev-util-file.c
diff options
context:
space:
mode:
Diffstat (limited to 'udev/udev-util-file.c')
-rw-r--r--udev/udev-util-file.c95
1 files changed, 0 insertions, 95 deletions
diff --git a/udev/udev-util-file.c b/udev/udev-util-file.c
index 84ff09e050..29c0d2c14a 100644
--- a/udev/udev-util-file.c
+++ b/udev/udev-util-file.c
@@ -29,101 +29,6 @@
#include "udev.h"
-int create_path(struct udev *udev, const char *path)
-{
- char p[UTIL_PATH_SIZE];
- char *pos;
- struct stat stats;
- int ret;
-
- util_strlcpy(p, path, sizeof(p));
- pos = strrchr(p, '/');
- if (pos == p || pos == NULL)
- return 0;
-
- while (pos[-1] == '/')
- pos--;
- pos[0] = '\0';
-
- dbg(udev, "stat '%s'\n", p);
- if (stat(p, &stats) == 0 && (stats.st_mode & S_IFMT) == S_IFDIR)
- return 0;
-
- if (create_path(udev, p) != 0)
- return -1;
-
- dbg(udev, "mkdir '%s'\n", p);
- udev_selinux_setfscreatecon(udev, p, S_IFDIR|0755);
- ret = mkdir(p, 0755);
- udev_selinux_resetfscreatecon(udev);
- if (ret == 0)
- return 0;
-
- if (errno == EEXIST)
- if (stat(p, &stats) == 0 && (stats.st_mode & S_IFMT) == S_IFDIR)
- return 0;
- return -1;
-}
-
-int delete_path(struct udev *udev, const char *path)
-{
- char p[UTIL_PATH_SIZE];
- char *pos;
- int retval;
-
- strcpy (p, path);
- pos = strrchr(p, '/');
- if (pos == p || pos == NULL)
- return 0;
-
- while (1) {
- *pos = '\0';
- pos = strrchr(p, '/');
-
- /* don't remove the last one */
- if ((pos == p) || (pos == NULL))
- break;
-
- /* remove if empty */
- retval = rmdir(p);
- if (errno == ENOENT)
- retval = 0;
- if (retval) {
- if (errno == ENOTEMPTY)
- return 0;
- err(udev, "rmdir(%s) failed: %m\n", p);
- break;
- }
- dbg(udev, "removed '%s'\n", p);
- }
- return 0;
-}
-
-/* Reset permissions on the device node, before unlinking it to make sure,
- * that permisions of possible hard links will be removed too.
- */
-int unlink_secure(struct udev *udev, const char *filename)
-{
- int retval;
-
- retval = chown(filename, 0, 0);
- if (retval)
- err(udev, "chown(%s, 0, 0) failed: %m\n", filename);
-
- retval = chmod(filename, 0000);
- if (retval)
- err(udev, "chmod(%s, 0000) failed: %m\n", filename);
-
- retval = unlink(filename);
- if (errno == ENOENT)
- retval = 0;
-
- if (retval)
- err(udev, "unlink(%s) failed: %m\n", filename);
-
- return retval;
-}
-
int file_map(const char *filename, char **buf, size_t *bufsize)
{
struct stat stats;