@ -57,7 +57,7 @@ BSD44_derived_dlerror(void)
void *
void *
BSD44_derived_dlopen ( const char * file , int num )
BSD44_derived_dlopen ( const char * file , int num )
{
{
# if defined(__mips__ )
# if !defined(HAVE_DLOPEN )
snprintf ( error_message , sizeof ( error_message ) ,
snprintf ( error_message , sizeof ( error_message ) ,
" dlopen (%s) not supported " , file ) ;
" dlopen (%s) not supported " , file ) ;
return NULL ;
return NULL ;
@ -74,14 +74,14 @@ BSD44_derived_dlopen(const char *file, int num)
void *
void *
BSD44_derived_dlsym ( void * handle , const char * name )
BSD44_derived_dlsym ( void * handle , const char * name )
{
{
# if defined(__mips__ )
# if !defined(HAVE_DLOPEN )
snprintf ( error_message , sizeof ( error_message ) ,
snprintf ( error_message , sizeof ( error_message ) ,
" dlsym (%s) failed " , name ) ;
" dlsym (%s) failed " , name ) ;
return NULL ;
return NULL ;
# elif defined(__ELF__)
return dlsym ( handle , name ) ;
# else
# else
void * vp ;
void * vp ;
# ifndef __ELF__
char buf [ BUFSIZ ] ;
char buf [ BUFSIZ ] ;
if ( * name ! = ' _ ' )
if ( * name ! = ' _ ' )
@ -89,6 +89,7 @@ BSD44_derived_dlsym(void *handle, const char *name)
snprintf ( buf , sizeof ( buf ) , " _%s " , name ) ;
snprintf ( buf , sizeof ( buf ) , " _%s " , name ) ;
name = buf ;
name = buf ;
}
}
# endif /* !__ELF__ */
if ( ( vp = dlsym ( handle , ( char * ) name ) ) = = NULL )
if ( ( vp = dlsym ( handle , ( char * ) name ) ) = = NULL )
snprintf ( error_message , sizeof ( error_message ) ,
snprintf ( error_message , sizeof ( error_message ) ,
" dlsym (%s) failed " , name ) ;
" dlsym (%s) failed " , name ) ;
@ -99,8 +100,7 @@ BSD44_derived_dlsym(void *handle, const char *name)
void
void
BSD44_derived_dlclose ( void * handle )
BSD44_derived_dlclose ( void * handle )
{
{
# if defined(__mips__)
# if defined(HAVE_DLOPEN)
# else
dlclose ( handle ) ;
dlclose ( handle ) ;
# endif
# endif
}
}