From 52e231144f5522b188f50a6a7b90bd8dd18c2ae6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 12 May 2004 03:31:55 +0000 Subject: [PATCH] Make it compile on AIX. (#141159, Michael Wilson) Tue May 11 23:23:21 2004 Matthias Clasen * gmodule-ar.c (_g_module_open): Make it compile on AIX. (#141159, Michael Wilson) --- gmodule/ChangeLog | 5 +++++ gmodule/gmodule-ar.c | 16 +++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/gmodule/ChangeLog b/gmodule/ChangeLog index a4dd1ac..1a23718 100644 --- a/gmodule/ChangeLog +++ b/gmodule/ChangeLog @@ -1,3 +1,8 @@ +Tue May 11 23:23:21 2004 Matthias Clasen + + * gmodule-ar.c (_g_module_open): Make it compile on AIX. + (#141159, Michael Wilson) + 2004-03-31 Tor Lillqvist * gmodule-win32.c (_g_module_build_path): On Cygwin, use the "cyg" diff --git a/gmodule/gmodule-ar.c b/gmodule/gmodule-ar.c index 5176794..4de9c43 100644 --- a/gmodule/gmodule-ar.c +++ b/gmodule/gmodule-ar.c @@ -97,7 +97,8 @@ exit: static gpointer _g_module_open (const gchar *file_name, - gboolean bind_lazy) + gboolean bind_lazy, + gboolean bind_local) { gpointer handle; gchar* member; @@ -105,18 +106,19 @@ _g_module_open (const gchar *file_name, /* extract name of first member of archive */ - member = _g_module_get_member(file_name); + member = _g_module_get_member (file_name); if (member != NULL) { - full_name = g_strconcat(file_name, "(", member, ")", NULL); - g_free(member); + full_name = g_strconcat (file_name, "(", member, ")", NULL); + g_free (member); } else - full_name = g_strdup(file_name); + full_name = g_strdup (file_name); - handle = dlopen (full_name, RTLD_GLOBAL | RTLD_MEMBER | (bind_lazy ? RTLD_LAZY : RTLD_NOW)); + handle = dlopen (full_name, + (bind_local ? RTLD_LOCAL : RTLD_GLOBAL) | RTLD_MEMBER | (bind_lazy ? RTLD_LAZY : RTLD_NOW)); - g_free(full_name); + g_free (full_name); if (!handle) g_module_set_error (fetch_dlerror (TRUE)); -- 2.7.4