+static void get_dirs(void)
+{
+ char *udev_test;
+ char *temp;
+ int retval;
+
+ udev_test = getenv("UDEV_TEST");
+ if (udev_test == NULL) {
+ /* normal operation, use the compiled in defaults */
+ udev_config_dir = UDEV_CONFIG_DIR;
+ udev_root = UDEV_ROOT;
+ retval = sysfs_get_mnt_path(sysfs_path, SYSFS_PATH_MAX);
+ dbg("sysfs_path = %s", sysfs_path);
+ if (retval)
+ dbg("sysfs_get_mnt_path failed");
+
+ } else {
+ /* hm testing is happening, use the specified values */
+ temp = getenv("UDEV_SYSFS_PATH");
+ strncpy(sysfs_path, temp, sizeof(sysfs_path));
+ udev_config_dir = getenv("UDEV_CONFIG_DIR");
+ udev_root = getenv("UDEV_ROOT");
+ }
+
+ strncpy(udev_db_filename, udev_config_dir, 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, NAMEDEV_CONFIG_FILE, sizeof(udev_config_filename));
+
+ strncpy(udev_config_permission_filename, udev_config_dir, sizeof(udev_config_permission_filename));
+ strncat(udev_config_permission_filename, NAMEDEV_CONFIG_PERMISSION_FILE, sizeof(udev_config_permission_filename));
+}