fix cmopiler warnings. check (de)initialization code.
[platform/upstream/glib.git] / gmodule / libgplugin_a.c
1 /* libgplugin_a.c - test plugin for testgmodule
2  * Copyright (C) 1998 Tim Janik
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19 #include        <gmodule.h>
20
21 G_MODULE_EXPORT void
22 gplugin_a_func (void)
23 {
24   g_print ("GPluginA: Hello world\n");
25 }
26
27 G_MODULE_EXPORT void
28 gplugin_clash_func (void)
29 {
30   g_print ("GPluginA: Hello plugin clash\n");
31 }
32
33 G_MODULE_EXPORT void
34 g_clash_func (void)
35 {
36   g_print ("GPluginA: Hello global clash\n");
37 }
38
39 G_MODULE_EXPORT void
40 gplugin_say_boo_func (void)
41 {
42   g_print ("GPluginA: BOOH!\n");
43 }
44
45 void
46 gplugin_a_module_func (GModule *module)
47 {
48   void(*f)(void) = NULL;
49   gchar *string;
50
51   string = "gplugin_say_boo_func";
52   g_print ("GPluginA: retrive symbol `%s' from \"%s\"\n",
53            string,
54            g_basename (g_module_name (module)));
55   if (!g_module_symbol (module, string, (gpointer) &f))
56     {
57       g_print ("error: %s\n", g_module_error ());
58       exit (1);
59     }
60
61   g_print ("GPluginA: call that function(%p): ", f);
62   f ();
63 }