Moved otherwise-unused underscore-prepending code in dlopen backend into an
#ifdef.
Fixes Bugzilla #354.
--- a/src/loadso/dlopen/SDL_sysloadso.c Tue Jan 23 04:47:11 2007 +0000
+++ b/src/loadso/dlopen/SDL_sysloadso.c Sat Feb 03 08:11:45 2007 +0000
@@ -45,12 +45,19 @@
{
void *symbol = dlsym(handle, name);
if ( symbol == NULL ) {
+
+#ifdef DLOPEN_NEED_UNDERSCORE
+ /* append an underscore for platforms that need that. */
size_t len = 1+SDL_strlen(name)+1;
char *_name = SDL_stack_alloc(char, len);
_name[0] = '_';
SDL_strlcpy(&_name[1], name, len);
+ symbol = dlsym(handle, _name);
+ SDL_stack_free(_name);
+#else
symbol = dlsym(handle, name);
- SDL_stack_free(_name);
+#endif
+
if ( symbol == NULL ) {
SDL_SetError("Failed loading %s: %s", name, (const char *)dlerror());
}