/*
Application console GTK.
gcc -Wall -s `pkg-config --cflags --libs gtk+-2.0` -o a a.c
*/
#include <gtk/gtk.h>
int main( int argc, char *argv[] )
{
g_print("Lancement\n");
/*
// Lancement simple, asynchrone
gchar *cmd = "./1";
GError *err = NULL;
if (g_spawn_command_line_async (cmd, &err))
g_print("oki\n");
else g_print("pas oki. g_spawn_command_line_async retourne FALSE\n");
*/
/*
// Lancement simple, synchrone.
gint exit_status;
gchar *sout=NULL;
gchar *serr=NULL;
GError *err = NULL;
gchar *cmd = "./1";
if (g_spawn_command_line_sync (cmp, &sout,&serr,&exit_status,&err))
g_print("exit_status : %d\n"
"sout = [%s]\n"
"serr = [%s]\n", exit_status, sout, serr);
else g_print("pas oki. g_spawn_command_line_sync retourne FALSE\n");
*/
/*
// Asynchrone avec pipes.
GPid child_pid;
GError *err = NULL;
gchar *sout=NULL;
gchar *serr=NULL;
FILE * pipin = fopen(stdin, "r");
if (g_spawn_async_with_pipes (NULL,argv,NULL,
G_SPAWN_FILE_AND_ARGV_ZERO,
NULL,NULL,
&child_pid,
NULL,
pipin,
NULL,
&err))
g_print("exit_status : %d\n"
"sout = [%s]\n"
"serr = [%s]\n"
"pid = [%d]\n", exit_status, sout, serr, pid_child);
else g_print("pas oki. g_spawn_async_with_pipes retourne FALSE\n");
if (err) g_print("err->message : %s\n", err->message);
fclose (pipin);
*/
argv[0] = "./1";
//gchar *cmd = "./1";
GPid child_pid;
GError *err = NULL;
if (g_spawn_async (NULL,
argv,
NULL,
G_SPAWN_FILE_AND_ARGV_ZERO,
NULL,
NULL,
&child_pid,
&err))
g_print("pid = [%d]\n", child_pid);
else g_print("pas oki. g_spawn_async retourne FALSE\n");
if (err) g_print("err->message : %s\n", err->message);
g_print("fin.\n");
return 0;
}