Mercurial > hg > xemacs-beta
diff src/sysdll.c @ 442:abe6d1db359e r21-2-36
Import from CVS: tag r21-2-36
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:35:02 +0200 |
parents | a5df635868b2 |
children | 3d3049ae1304 |
line wrap: on
line diff
--- a/src/sysdll.c Mon Aug 13 11:33:40 2007 +0200 +++ b/src/sysdll.c Mon Aug 13 11:35:02 2007 +0200 @@ -49,54 +49,54 @@ #endif int -dll_init (CONST char *arg) +dll_init (const char *arg) { return 0; } dll_handle -dll_open (CONST char *fname) +dll_open (const char *fname) { - return (dll_handle)dlopen (fname, RTLD_LAZY | RTLD_GLOBAL); + return (dll_handle) dlopen (fname, RTLD_LAZY | RTLD_GLOBAL); } int dll_close (dll_handle h) { - return dlclose((void *)h); + return dlclose ((void *) h); } dll_func -dll_function (dll_handle h, CONST char *n) +dll_function (dll_handle h, const char *n) { #ifdef DLSYM_NEEDS_UNDERSCORE char *buf = alloca_array (char, strlen (n) + 2); *buf = '_'; - (void)strcpy(buf + 1, n); + strcpy (buf + 1, n); n = buf; #endif - return (dll_func)dlsym ((void *)h, n); + return (dll_func) dlsym ((void *) h, n); } dll_var -dll_variable (dll_handle h, CONST char *n) +dll_variable (dll_handle h, const char *n) { #ifdef DLSYM_NEEDS_UNDERSCORE char *buf = alloca_array (char, strlen (n) + 2); *buf = '_'; - (void)strcpy(buf + 1, n); + strcpy (buf + 1, n); n = buf; #endif return (dll_var)dlsym ((void *)h, n); } -CONST char * +const char * dll_error (dll_handle h) { #if defined(HAVE_DLERROR) || defined(dlerror) - return (CONST char *)dlerror (); + return (const char *) dlerror (); #elif defined(HAVE__DLERROR) - return (const char *)_dlerror(); + return (const char *) _dlerror(); #else return "Shared library error"; #endif @@ -106,59 +106,49 @@ /* This is the HP/UX version */ #include <dl.h> int -dll_init (CONST char *arg) +dll_init (const char *arg) { return 0; } dll_handle -dll_open (CONST char *fname) +dll_open (const char *fname) { - shl_t h = shl_load (fname, BIND_DEFERRED,0L); - shl_t *hp = NULL; + /* shl_load will hang hard if passed a NULL fname. */ + if (fname == NULL) return NULL; - if (h) - { - hp = (shl_t *)malloc (sizeof (shl_t)); - if (!hp) - shl_unload(h); - else - *hp = h; - } - return (dll_handle)hp; + return (dll_handle) shl_load (fname, BIND_DEFERRED,0L); } int dll_close (dll_handle h) { - shl_t hp = *((shl_t *)h); - free (hp); - return shl_unload(h); + return shl_unload ((shl_t) h); } dll_func -dll_function (dll_handle h, CONST char *n) +dll_function (dll_handle h, const char *n) { long handle = 0L; - if (shl_findsym ((shl_t *)h, n, TYPE_PROCEDURE, &handle)) + if (shl_findsym ((shl_t *) &h, n, TYPE_PROCEDURE, &handle)) return NULL; - return (dll_func)handle; + return (dll_func) handle; } dll_var -dll_variable (dll_handle h, CONST char *n) +dll_variable (dll_handle h, const char *n) { long handle = 0L; - if (shl_findsym ((shl_t *)h, n, TYPE_DATA, &handle)) + if (shl_findsym ((shl_t *) &h, n, TYPE_DATA, &handle)) return NULL; - return (dll_var)handle; + return (dll_var) handle; } -CONST char * +const char * dll_error (dll_handle h) { /* #### WTF?! Shouldn't this at least attempt to get strerror or @@ -169,7 +159,7 @@ #elif defined(HAVE_INIT_DLD) #include <dld.h> int -dll_init (CONST char *arg) +dll_init (const char *arg) { char *real_exe = dld_find_executable (arg); int rc; @@ -184,13 +174,13 @@ } dll_handle -dll_open (CONST char *fname) +dll_open (const char *fname) { rc = dld_link (fname); if (rc) return NULL; - return (dll_handle)1; + return (dll_handle) 1; } int @@ -206,27 +196,32 @@ } DLL_FUNC -dll_function (dll_handle h, CONST char *n) +dll_function (dll_handle h, const char *n) { - return dld_get_func(n); + return dld_get_func (n); } DLL_FUNC -dll_variable (dll_handle h, CONST char *n) +dll_variable (dll_handle h, const char *n) { - return dld_get_symbol(n); + return dld_get_symbol (n); } -#elif defined(_WINDOWS) || defined(WIN32) +#elif defined (WIN32_NATIVE) + +#define WIN32_LEAN_AND_MEAN +#include <windows.h> +#undef WIN32_LEAN_AND_MEAN + int -dll_init (CONST char *arg) +dll_init (const char *arg) { return 0; } dll_handle -dll_open (CONST char *fname) +dll_open (const char *fname) { - return (dll_handle)LoadLibrary (fname); + return (dll_handle) LoadLibrary (fname); } int @@ -236,18 +231,18 @@ } dll_func -dll_function (dll_handle h, CONST char *n) +dll_function (dll_handle h, const char *n) { - return (dll_func)GetProcAddress (h,n); + return (dll_func) GetProcAddress (h, n); } dll_func -dll_variable (dll_handle h, CONST char *n) +dll_variable (dll_handle h, const char *n) { - return (dll_func)GetProcAddress (h,n); + return (dll_func) GetProcAddress (h, n); } -CONST char * +const char * dll_error (dll_handle h) { return "Windows DLL Error"; @@ -255,13 +250,13 @@ #else /* Catchall if we don't know about this systems method of dynamic loading */ int -dll_init (CONST char *arg) +dll_init (const char *arg) { return -1; } dll_handle -dll_open (CONST char *fname) +dll_open (const char *fname) { return NULL; } @@ -273,18 +268,18 @@ } dll_func -dll_function (dll_handle h, CONST char *n) +dll_function (dll_handle h, const char *n) { return NULL; } dll_func -dll_variable (dll_handle h, CONST char *n) +dll_variable (dll_handle h, const char *n) { return NULL; } -CONST char * +const char * dll_error (dll_handle h) { return "Shared libraries not implemented on this system";