Mercurial > pidgin.yaz
comparison src/plugins.c @ 970:9eb07b383df4
[gaim-migrate @ 980]
Bleat.
committer: Tailor Script <tailor@pidgin.im>
author | Rob Flynn <gaim@robflynn.com> |
---|---|
date | Wed, 11 Oct 2000 00:31:15 +0000 |
parents | 2f64424bf319 |
children | 7e231bc0018a |
comparison
equal
deleted
inserted
replaced
969:eb5a82d64ce5 | 970:9eb07b383df4 |
---|---|
150 if (filename == NULL) return; | 150 if (filename == NULL) return; |
151 /* i shouldn't be checking based solely on path, but i'm lazy */ | 151 /* i shouldn't be checking based solely on path, but i'm lazy */ |
152 while (c) { | 152 while (c) { |
153 plug = (struct gaim_plugin *)c->data; | 153 plug = (struct gaim_plugin *)c->data; |
154 if (!strcmp(filename, plug->filename)) { | 154 if (!strcmp(filename, plug->filename)) { |
155 sprintf(debug_buff, _("Already loaded %s, " | 155 debug_printf( _("Already loaded %s, not reloading.\n"), filename); |
156 "not reloading.\n"), filename); | |
157 debug_print(debug_buff); | |
158 return; | 156 return; |
159 } | 157 } |
160 c = g_list_next(c); | 158 c = g_list_next(c); |
161 } | 159 } |
162 plug = g_malloc(sizeof *plug); | 160 plug = g_malloc(sizeof *plug); |
164 plug->filename = g_strconcat(g_get_home_dir(), G_DIR_SEPARATOR_S, | 162 plug->filename = g_strconcat(g_get_home_dir(), G_DIR_SEPARATOR_S, |
165 PLUGIN_DIR, filename, NULL); | 163 PLUGIN_DIR, filename, NULL); |
166 else | 164 else |
167 plug->filename = g_strdup(filename); | 165 plug->filename = g_strdup(filename); |
168 | 166 |
169 sprintf(debug_buff, "Loading %s\n", filename); | 167 debug_printf("Loading %s\n", filename); |
170 debug_print(debug_buff); | |
171 /* do NOT `OR' with RTLD_GLOBAL, otherwise plugins may conflict | 168 /* do NOT `OR' with RTLD_GLOBAL, otherwise plugins may conflict |
172 * (it's really just a way to work around other people's bad | 169 * (it's really just a way to work around other people's bad |
173 * programming, by not using RTLD_GLOBAL :P ) */ | 170 * programming, by not using RTLD_GLOBAL :P ) */ |
174 plug->handle = dlopen(plug->filename, RTLD_LAZY); | 171 plug->handle = dlopen(plug->filename, RTLD_LAZY); |
175 if (!plug->handle) { | 172 if (!plug->handle) { |
188 g_free(plug); | 185 g_free(plug); |
189 return; | 186 return; |
190 } | 187 } |
191 | 188 |
192 retval = (*gaim_plugin_init)(plug->handle); | 189 retval = (*gaim_plugin_init)(plug->handle); |
193 sprintf(debug_buff, "loaded plugin returned %d\n", retval); | 190 debug_printf("loaded plugin returned %d\n", retval); |
194 debug_print(debug_buff); | |
195 if (retval < 0) { | 191 if (retval < 0) { |
196 GList *c = callbacks; | 192 GList *c = callbacks; |
197 struct gaim_callback *g; | 193 struct gaim_callback *g; |
198 while (c) { | 194 while (c) { |
199 g = (struct gaim_callback *)c->data; | 195 g = (struct gaim_callback *)c->data; |