loader: separate USE_DRICONF code into separate function
authorEmil Velikov <emil.velikov@collabora.com>
Wed, 7 Sep 2016 15:36:51 +0000 (16:36 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 18 Oct 2016 16:06:04 +0000 (17:06 +0100)
Improves readability and allows us to do further cleanups a lot easier.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/loader/loader.c

index 320a393eccae8312009c3f7713efb833a97d5ee1..0aa86344603db8318377d5cf42fb6d0992e7a6b6 100644 (file)
@@ -303,15 +303,27 @@ DRI_CONF_BEGIN
         DRI_CONF_DEVICE_ID_PATH_TAG()
     DRI_CONF_SECTION_END
 DRI_CONF_END;
-#endif
 
-int loader_get_user_preferred_fd(int default_fd, int *different_device)
+static char *loader_get_dri_config_device_id(void)
 {
-   struct udev *udev;
-#ifdef USE_DRICONF
    driOptionCache defaultInitOptions;
    driOptionCache userInitOptions;
+   char *prime = NULL;
+
+   driParseOptionInfo(&defaultInitOptions, __driConfigOptionsLoader);
+   driParseConfigFiles(&userInitOptions, &defaultInitOptions, 0, "loader");
+   if (driCheckOption(&userInitOptions, "device_id", DRI_STRING))
+      prime = strdup(driQueryOptionstr(&userInitOptions, "device_id"));
+   driDestroyOptionCache(&userInitOptions);
+   driDestroyOptionInfo(&defaultInitOptions);
+
+   return prime;
+}
 #endif
+
+int loader_get_user_preferred_fd(int default_fd, int *different_device)
+{
+   struct udev *udev;
    const char *dri_prime = getenv("DRI_PRIME");
    char *prime = NULL;
    int is_different_device = 0, fd = default_fd;
@@ -324,14 +336,8 @@ int loader_get_user_preferred_fd(int default_fd, int *different_device)
    if (dri_prime)
       prime = strdup(dri_prime);
 #ifdef USE_DRICONF
-   else {
-      driParseOptionInfo(&defaultInitOptions, __driConfigOptionsLoader);
-      driParseConfigFiles(&userInitOptions, &defaultInitOptions, 0, "loader");
-      if (driCheckOption(&userInitOptions, "device_id", DRI_STRING))
-         prime = strdup(driQueryOptionstr(&userInitOptions, "device_id"));
-      driDestroyOptionCache(&userInitOptions);
-      driDestroyOptionInfo(&defaultInitOptions);
-   }
+   else
+      prime = loader_get_dri_config_device_id();
 #endif
 
    if (prime == NULL) {