aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--code/client/cl_curl.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/code/client/cl_curl.c b/code/client/cl_curl.c
index e4db3eb..216d9cc 100644
--- a/code/client/cl_curl.c
+++ b/code/client/cl_curl.c
@@ -100,13 +100,28 @@ qboolean CL_cURL_Init()
return qfalse;
#else
char fn[1024];
- Q_strncpyz( fn, Sys_Cwd( ), sizeof( fn ) );
- strncat(fn, "/", sizeof(fn)-strlen(fn)-1);
- strncat(fn, cl_cURLLib->string, sizeof(fn)-strlen(fn)-1);
- if( (cURLLib = Sys_LoadLibrary(fn)) == 0 )
+ // On some linux distributions there is no libcurl.so symlink, but only libcurl.so.4
+
+ Q_strncpyz(fn, cl_cURLLib->string, sizeof(fn));
+ strncat(fn, ".4", sizeof(fn)-strlen(fn)-1);
+
+ if((cURLLib = Sys_LoadLibrary(fn)) == 0)
{
- return qfalse;
+ Q_strncpyz(fn, cl_cURLLib->string, sizeof(fn));
+ strncat(fn, ".3", sizeof(fn)-strlen(fn)-1);
+
+ if((cURLLib = Sys_LoadLibrary(fn)) == 0)
+ {
+ Q_strncpyz( fn, Sys_Cwd( ), sizeof( fn ) );
+ strncat(fn, "/", sizeof(fn)-strlen(fn)-1);
+ strncat(fn, cl_cURLLib->string, sizeof(fn)-strlen(fn)-1);
+
+ if( (cURLLib = Sys_LoadLibrary(fn)) == 0 )
+ {
+ return qfalse;
+ }
+ }
}
#endif /* _WIN32 */
}