From f209c48da0c8cf2a3989ddd786013c0aab74a97b Mon Sep 17 00:00:00 2001 From: thilo Date: Sat, 16 Feb 2008 22:57:45 +0000 Subject: Fall back to libcurl.so.4 or libcurl.so.4 if the default symlink does not exist. git-svn-id: svn://svn.icculus.org/quake3/trunk@1266 edf5b092-35ff-0310-97b2-ce42778d08ea --- code/client/cl_curl.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'code') 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 */ } -- cgit v1.2.3