summaryrefslogtreecommitdiff
path: root/udev.c
diff options
context:
space:
mode:
Diffstat (limited to 'udev.c')
-rw-r--r--udev.c60
1 files changed, 9 insertions, 51 deletions
diff --git a/udev.c b/udev.c
index 094905ecc2..272afbab6e 100644
--- a/udev.c
+++ b/udev.c
@@ -27,6 +27,7 @@
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
+#include <ctype.h>
#include "udev.h"
#include "udev_version.h"
@@ -39,11 +40,13 @@ char **main_argv;
char **main_envp;
char sysfs_path[SYSFS_PATH_MAX];
-char *udev_config_dir = UDEV_CONFIG_DIR;
-char *udev_root = UDEV_ROOT;
+char udev_config_dir[PATH_MAX];
+char udev_root[PATH_MAX];
char udev_db_filename[PATH_MAX+NAME_MAX];
-char udev_config_permission_filename[PATH_MAX+NAME_MAX];
+char udev_permission_filename[PATH_MAX+NAME_MAX];
+char udev_rules_filename[PATH_MAX+NAME_MAX];
char udev_config_filename[PATH_MAX+NAME_MAX];
+char default_mode_str[NAME_MAX];
static inline char *get_action(void)
@@ -70,53 +73,6 @@ static inline char *get_seqnum(void)
return seqnum;
}
-static void get_dirs(void)
-{
- char *temp;
- char *udev_db = UDEV_DB;
- char *udev_config = UDEV_CONFIG_FILE;
- char *udev_permission = UDEV_CONFIG_PERMISSION_FILE;
- int retval;
-
- retval = sysfs_get_mnt_path(sysfs_path, SYSFS_PATH_MAX);
- if (retval)
- dbg("sysfs_get_mnt_path failed");
-
- /* see if we should try to override any of the default values */
- temp = getenv("UDEV_TEST");
- if (temp != NULL) {
- /* hm testing is happening, use the specified values, if they are present */
- temp = getenv("SYSFS_PATH");
- if (temp)
- strncpy(sysfs_path, temp, sizeof(sysfs_path));
- temp = getenv("UDEV_CONFIG_DIR");
- if (temp)
- udev_config_dir = temp;
- temp = getenv("UDEV_ROOT");
- if (temp)
- udev_root = temp;
- temp = getenv("UDEV_DB");
- if (temp)
- udev_db = temp;
- temp = getenv("UDEV_CONFIG_FILE");
- if (temp)
- udev_config = temp;
- temp = getenv("UDEV_PERMISSION_FILE");
- if (temp)
- udev_permission = temp;
- }
- dbg("sysfs_path='%s'", sysfs_path);
-
- strncpy(udev_db_filename, udev_root, sizeof(udev_db_filename));
- strncat(udev_db_filename, udev_db, sizeof(udev_db_filename));
-
- strncpy(udev_config_filename, udev_config_dir, sizeof(udev_config_filename));
- strncat(udev_config_filename, udev_config, sizeof(udev_config_filename));
-
- strncpy(udev_config_permission_filename, udev_config_dir, sizeof(udev_config_permission_filename));
- strncat(udev_config_permission_filename, udev_permission, sizeof(udev_config_permission_filename));
-}
-
int main(int argc, char **argv, char **envp)
{
char *action;
@@ -162,8 +118,10 @@ int main(int argc, char **argv, char **envp)
goto exit;
}
+ /* initialize our configuration */
+ udev_init_config();
+
/* initialize udev database */
- get_dirs();
retval = udevdb_init(UDEVDB_DEFAULT);
if (retval != 0) {
dbg("unable to initialize database");