fixed memory leak
[platform/upstream/dbus.git] / test / spawn-test.c
1 #include <dbus/dbus.h>
2
3 #define DBUS_COMPILATION /* cheat and use dbus-sysdeps */
4 #include <dbus/dbus-sysdeps.h>
5 #include <dbus/dbus-spawn.h>
6 #undef DBUS_COMPILATION
7 #include <stdio.h>
8
9 static void
10 setup_func (void *data)
11 {
12   printf ("entering setup func.\n");
13 }
14
15 int
16 main (int argc, char **argv)
17 {
18   char **argv_copy;
19   int i;
20   DBusError error;
21   
22   if (argc < 2)
23     {
24       fprintf (stderr, "You need to specify a program to launch.\n");
25
26       return -1;
27     }
28
29   argv_copy = dbus_new (char *, argc);
30   for (i = 0; i < argc - 1; i++)
31     argv_copy [i] = argv[i + 1];
32   argv_copy[argc - 1] = NULL;
33   
34   if (!_dbus_spawn_async_with_babysitter (NULL, argv_copy, NULL, setup_func, NULL, &error))
35     {
36       fprintf (stderr, "Could not launch application: \"%s\"\n",
37                error.message);
38     }
39
40   dbus_free(argv_copy);
41  
42   return 0;
43 }