summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/xfree86/loader/loader.c2
-rw-r--r--hw/xfree86/loader/loadmod.c40
2 files changed, 18 insertions, 24 deletions
diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c
index 006581235..dc474c477 100644
--- a/hw/xfree86/loader/loader.c
+++ b/hw/xfree86/loader/loader.c
@@ -272,7 +272,7 @@ static loader_funcs funcs[] = {
DLResolveSymbols,
DLCheckForUnresolved,
ARCHIVEAddressToSection,
- DLUnloadModule, {0, 0, 0, 0, 0}},
+ DLUnloadModule, {0, 0}},
};
int numloaders = sizeof(funcs) / sizeof(loader_funcs);
diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c
index 10bd2ef59..9c2f3a792 100644
--- a/hw/xfree86/loader/loadmod.c
+++ b/hw/xfree86/loader/loadmod.c
@@ -413,7 +413,6 @@ FindModule(const char *module, const char *dir, const char **subdirlist,
int dirlen;
const char **subdirs = NULL;
const char **s;
- const char suffix[3][3] = { "so", "a", "o" };
#ifndef __EMX__
dirpath = (char *)dir;
@@ -441,28 +440,23 @@ FindModule(const char *module, const char *dir, const char **subdirlist,
buf[dirlen++] = '/';
}
- for (i = 0; i < 3 && !name; i++) {
- snprintf(tmpBuf, PATH_MAX, "%slib%s.%s", buf, module,
- suffix[i]);
- if (stat(tmpBuf, &stat_buf) == 0) {
- name = tmpBuf;
- break;
- }
- snprintf(tmpBuf, PATH_MAX, "%s%s_drv.%s", buf, module,
- suffix[i]);
- if (stat(tmpBuf, &stat_buf) == 0) {
- name = tmpBuf;
- break;
- }
- snprintf(tmpBuf, PATH_MAX, "%s%s.%s", buf, module,
- suffix[i]);
- if (stat(tmpBuf, &stat_buf) == 0) {
- name = tmpBuf;
- break;
- }
- }
- if (name)
- break;
+ snprintf(tmpBuf, PATH_MAX, "%slib%s.so", buf, module);
+ if (stat(tmpBuf, &stat_buf) == 0) {
+ name = tmpBuf;
+ break;
+ }
+
+ snprintf(tmpBuf, PATH_MAX, "%s%s_drv.so", buf, module);
+ if (stat(tmpBuf, &stat_buf) == 0) {
+ name = tmpBuf;
+ break;
+ }
+
+ snprintf(tmpBuf, PATH_MAX, "%s%s.so", buf, module);
+ if (stat(tmpBuf, &stat_buf) == 0) {
+ name = tmpBuf;
+ break;
+ }
}
}
FreeSubdirs(subdirs);