- char *temp;
- char *udev_db = UDEV_DB;
- char *udev_config = UDEV_CONFIG_FILE;
- char *udev_rules = UDEV_RULES_FILE;
- char *udev_permission = UDEV_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)
- strfieldcpy(sysfs_path, temp);
- temp = getenv("UDEV_CONFIG_DIR");
- if (temp)
- strfieldcpy(udev_config_dir, temp);
- temp = getenv("UDEV_ROOT");
- if (temp)
- strfieldcpy(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_RULES_FILE");
- if (temp)
- udev_rules = temp;
- temp = getenv("UDEV_PERMISSION_FILE");
- if (temp)
- udev_permission = temp;
+ const char *env;
+
+ strcpy(udev_root, UDEV_ROOT);
+ strcpy(udev_config_filename, UDEV_CONFIG_FILE);
+ strcpy(udev_rules_dir, UDEV_RULES_DIR);
+ udev_log_priority = LOG_ERR;
+ udev_run = 1;
+
+ /* disable RUN key execution */
+ env = getenv("UDEV_RUN");
+ if (env && !string_is_true(env))
+ udev_run = 0;
+
+ env = getenv("UDEV_CONFIG_FILE");
+ if (env) {
+ strlcpy(udev_config_filename, env, sizeof(udev_config_filename));
+ remove_trailing_chars(udev_config_filename, '/');