aboutsummaryrefslogtreecommitdiff
path: root/src/backend/port/dynloader
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/port/dynloader')
-rw-r--r--src/backend/port/dynloader/aix.c2
-rw-r--r--src/backend/port/dynloader/aix.h10
-rw-r--r--src/backend/port/dynloader/beos.c53
-rw-r--r--src/backend/port/dynloader/darwin.c24
-rw-r--r--src/backend/port/dynloader/darwin.h6
-rw-r--r--src/backend/port/dynloader/hpux.c5
-rw-r--r--src/backend/port/dynloader/solaris.h4
7 files changed, 58 insertions, 46 deletions
diff --git a/src/backend/port/dynloader/aix.c b/src/backend/port/dynloader/aix.c
index c1556bb1c20..44ae28d67de 100644
--- a/src/backend/port/dynloader/aix.c
+++ b/src/backend/port/dynloader/aix.c
@@ -609,4 +609,4 @@ findMain(void)
return ret;
}
-#endif /* HAVE_DLOPEN */
+#endif /* HAVE_DLOPEN */
diff --git a/src/backend/port/dynloader/aix.h b/src/backend/port/dynloader/aix.h
index 9d8ff105c44..f34d07b0653 100644
--- a/src/backend/port/dynloader/aix.h
+++ b/src/backend/port/dynloader/aix.h
@@ -1,5 +1,5 @@
/*
- * $Id: aix.h,v 1.4 2001/02/10 02:31:26 tgl Exp $
+ * $Id: aix.h,v 1.5 2001/03/22 03:59:42 momjian Exp $
*
* @(#)dlfcn.h 1.4 revision of 95/04/25 09:36:52
* This is an unpublished work copyright (c) 1992 HELIOS Software GmbH
@@ -13,7 +13,7 @@
#include <dlfcn.h>
-#else /* HAVE_DLOPEN */
+#else /* HAVE_DLOPEN */
#ifdef __cplusplus
extern "C"
@@ -54,13 +54,13 @@ extern "C"
#endif
-#endif /* HAVE_DLOPEN */
+#endif /* HAVE_DLOPEN */
#include "utils/dynamic_loader.h"
#define pg_dlopen(f) dlopen(f, RTLD_LAZY)
#define pg_dlsym dlsym
-#define pg_dlclose dlclose
-#define pg_dlerror dlerror
+#define pg_dlclose dlclose
+#define pg_dlerror dlerror
#endif /* PORT_PROTOS_H */
diff --git a/src/backend/port/dynloader/beos.c b/src/backend/port/dynloader/beos.c
index 80bdbca0373..dd28c5c5f81 100644
--- a/src/backend/port/dynloader/beos.c
+++ b/src/backend/port/dynloader/beos.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/port/dynloader/Attic/beos.c,v 1.6 2001/02/10 02:31:26 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/port/dynloader/Attic/beos.c,v 1.7 2001/03/22 03:59:42 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -18,59 +18,66 @@
#include "utils/dynamic_loader.h"
-void *
+void *
pg_dlopen(char *filename)
{
- image_id* im;
-
- /* Handle memory allocation to store the Id of the shared object*/
- im=(image_id*)(malloc(sizeof(image_id)));
-
+ image_id *im;
+
+ /* Handle memory allocation to store the Id of the shared object */
+ im = (image_id *) (malloc(sizeof(image_id)));
+
/* Add-on loading */
- *im=beos_dl_open(filename);
-
+ *im = beos_dl_open(filename);
+
return im;
}
-char *
+char *
pg_dlerror()
{
static char errmsg[] = "Load Add-On failed";
+
return errmsg;
}
-PGFunction
+PGFunction
pg_dlsym(void *handle, char *funcname)
{
- PGFunction fpt;
+ PGFunction fpt;
/* Checking that "Handle" is valid */
- if ((handle) && ((*(int*)(handle))>=0))
+ if ((handle) && ((*(int *) (handle)) >= 0))
{
/* Loading symbol */
- if(get_image_symbol(*((int*)(handle)),funcname,B_SYMBOL_TYPE_TEXT,(void**)&fpt)==B_OK);
+ if (get_image_symbol(*((int *) (handle)), funcname, B_SYMBOL_TYPE_TEXT, (void **) &fpt) == B_OK);
{
- /* Sometime the loader return B_OK for an inexistant function with an invalid address !!!
- Check that the return address is in the image range */
- image_info info;
- get_image_info(*((int*)(handle)),&info);
- if ((fpt<info.text) || (fpt>=(info.text+info.text_size))) return NULL;
+
+ /*
+ * Sometime the loader return B_OK for an inexistant function
+ * with an invalid address !!! Check that the return address
+ * is in the image range
+ */
+ image_info info;
+
+ get_image_info(*((int *) (handle)), &info);
+ if ((fpt < info.text) ||(fpt >= (info.text +info.text_size)))
+ return NULL;
return fpt;
}
- elog(NOTICE, "loading symbol '%s' failed ",funcname);
+ elog(NOTICE, "loading symbol '%s' failed ", funcname);
}
elog(NOTICE, "add-on not loaded correctly");
return NULL;
}
-void
+void
pg_dlclose(void *handle)
{
/* Checking that "Handle" is valid */
- if ((handle) && ((*(int*)(handle))>=0))
+ if ((handle) && ((*(int *) (handle)) >= 0))
{
- if (beos_dl_close(*(image_id*)handle)!=B_OK)
+ if (beos_dl_close(*(image_id *) handle) != B_OK)
elog(NOTICE, "error while unloading add-on");
free(handle);
}
diff --git a/src/backend/port/dynloader/darwin.c b/src/backend/port/dynloader/darwin.c
index 6c149b9f55e..9f95d4011f9 100644
--- a/src/backend/port/dynloader/darwin.c
+++ b/src/backend/port/dynloader/darwin.c
@@ -1,16 +1,17 @@
/*
* These routines were taken from the Apache source, but were made
- * available with a PostgreSQL-compatible license. Kudos Wilfredo
+ * available with a PostgreSQL-compatible license. Kudos Wilfredo
* Sánchez <wsanchez@apple.com>.
*
- * $Header: /cvsroot/pgsql/src/backend/port/dynloader/darwin.c,v 1.4 2000/12/11 00:49:54 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/port/dynloader/darwin.c,v 1.5 2001/03/22 03:59:42 momjian Exp $
*/
#include "postgres.h"
#include <mach-o/dyld.h>
#include "dynloader.h"
-void *pg_dlopen(char *filename)
+void *
+pg_dlopen(char *filename)
{
NSObjectFileImage image;
@@ -20,16 +21,18 @@ void *pg_dlopen(char *filename)
return NSLinkModule(image, filename, TRUE);
}
-void pg_dlclose(void *handle)
+void
+pg_dlclose(void *handle)
{
- NSUnLinkModule(handle,FALSE);
+ NSUnLinkModule(handle, FALSE);
return;
}
-PGFunction pg_dlsym(void *handle, char *funcname)
+PGFunction
+pg_dlsym(void *handle, char *funcname)
{
- NSSymbol symbol;
- char *symname = (char*)malloc(strlen(funcname)+2);
+ NSSymbol symbol;
+ char *symname = (char *) malloc(strlen(funcname) + 2);
sprintf(symname, "_%s", funcname);
if (NSIsSymbolNameDefined(symname))
@@ -41,11 +44,12 @@ PGFunction pg_dlsym(void *handle, char *funcname)
else
{
free(symname);
- return (PGFunction)NULL;
+ return (PGFunction) NULL;
}
}
-char *pg_dlerror(void)
+char *
+pg_dlerror(void)
{
return "no error message available";
}
diff --git a/src/backend/port/dynloader/darwin.h b/src/backend/port/dynloader/darwin.h
index 0e73eb2be67..da56c7690e0 100644
--- a/src/backend/port/dynloader/darwin.h
+++ b/src/backend/port/dynloader/darwin.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/pgsql/src/backend/port/dynloader/darwin.h,v 1.3 2000/12/11 00:49:54 tgl Exp $ */
+/* $Header: /cvsroot/pgsql/src/backend/port/dynloader/darwin.h,v 1.4 2001/03/22 03:59:42 momjian Exp $ */
#include "fmgr.h"
-void* pg_dlopen(char *filename);
+void *pg_dlopen(char *filename);
PGFunction pg_dlsym(void *handle, char *funcname);
void pg_dlclose(void *handle);
-char* pg_dlerror(void);
+char *pg_dlerror(void);
diff --git a/src/backend/port/dynloader/hpux.c b/src/backend/port/dynloader/hpux.c
index 73e50b71806..967967e0269 100644
--- a/src/backend/port/dynloader/hpux.c
+++ b/src/backend/port/dynloader/hpux.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/port/dynloader/hpux.c,v 1.17 2001/02/10 02:31:26 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/port/dynloader/hpux.c,v 1.18 2001/03/22 03:59:43 momjian Exp $
*
* NOTES
* all functions are defined here -- it's impossible to trace the
@@ -28,13 +28,14 @@
void *
pg_dlopen(char *filename)
{
+
/*
* Use BIND_IMMEDIATE so that undefined symbols cause a failure return
* from shl_load(), rather than an abort() later on when we attempt to
* call the library!
*/
shl_t handle = shl_load(filename,
- BIND_IMMEDIATE | BIND_VERBOSE | DYNAMIC_PATH,
+ BIND_IMMEDIATE | BIND_VERBOSE | DYNAMIC_PATH,
0L);
return (void *) handle;
diff --git a/src/backend/port/dynloader/solaris.h b/src/backend/port/dynloader/solaris.h
index 3c70b909524..c5f6ec18741 100644
--- a/src/backend/port/dynloader/solaris.h
+++ b/src/backend/port/dynloader/solaris.h
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/pgsql/src/backend/port/dynloader/solaris.h,v 1.2 2001/02/10 02:31:26 tgl Exp $ */
+/* $Header: /cvsroot/pgsql/src/backend/port/dynloader/solaris.h,v 1.3 2001/03/22 03:59:43 momjian Exp $ */
#ifndef DYNLOADER_SOLARIS_H
#define DYNLOADER_SOLARIS_H
@@ -11,4 +11,4 @@
#define pg_dlclose dlclose
#define pg_dlerror dlerror
-#endif /* DYNLOADER_SOLARIS_H */
+#endif /* DYNLOADER_SOLARIS_H */