diff options
author | Matthias Clasen <maclas@gmx.de> | 2004-05-12 03:31:55 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2004-05-12 03:31:55 +0000 |
commit | 52e231144f5522b188f50a6a7b90bd8dd18c2ae6 (patch) | |
tree | 7e557cf3849fc9c7af230e22c22207285afe4059 /gmodule | |
parent | 185c1de57776dc6cc2c5447692d68acd58d8a941 (diff) |
Make it compile on AIX. (#141159, Michael Wilson)
Tue May 11 23:23:21 2004 Matthias Clasen <maclas@gmx.de>
* gmodule-ar.c (_g_module_open): Make it compile on AIX.
(#141159, Michael Wilson)
Diffstat (limited to 'gmodule')
-rw-r--r-- | gmodule/ChangeLog | 5 | ||||
-rw-r--r-- | gmodule/gmodule-ar.c | 16 |
2 files changed, 14 insertions, 7 deletions
diff --git a/gmodule/ChangeLog b/gmodule/ChangeLog index a4dd1ac5c..1a2371801 100644 --- a/gmodule/ChangeLog +++ b/gmodule/ChangeLog @@ -1,3 +1,8 @@ +Tue May 11 23:23:21 2004 Matthias Clasen <maclas@gmx.de> + + * gmodule-ar.c (_g_module_open): Make it compile on AIX. + (#141159, Michael Wilson) + 2004-03-31 Tor Lillqvist <tml@iki.fi> * 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 517679412..4de9c4336 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)); |