Use return value of result function to indicate to proceed or not
authorMarcel Holtmann <marcel@holtmann.org>
Mon, 1 Nov 2010 01:07:23 +0000 (02:07 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 1 Nov 2010 01:07:23 +0000 (02:07 +0100)
gweb/gweb.h
tools/web-test.c
tools/wispr.c

index c07e00d..df947e0 100644 (file)
@@ -42,7 +42,7 @@ typedef enum {
        G_WEB_METHOD_GET,
 } GWebMethod;
 
-typedef void (*GWebResultFunc)(GWebResult *result, gpointer user_data);
+typedef gboolean (*GWebResultFunc)(GWebResult *result, gpointer user_data);
 
 typedef void (*GWebDebugFunc)(const char *str, gpointer user_data);
 
index c148c91..5a320ec 100644 (file)
@@ -43,7 +43,7 @@ static void sig_term(int sig)
        g_main_loop_quit(main_loop);
 }
 
-static void web_result(GWebResult *result, gpointer user_data)
+static gboolean web_result(GWebResult *result, gpointer user_data)
 {
        guint16 status;
        gdouble elapsed;
@@ -57,6 +57,8 @@ static void web_result(GWebResult *result, gpointer user_data)
        g_print("status: %03u\n", status);
 
        g_main_loop_quit(main_loop);
+
+       return FALSE;
 }
 
 static gboolean option_debug = FALSE;
index 1492e6b..fc1fe90 100644 (file)
@@ -240,7 +240,7 @@ static void parser_callback(const char *str, gpointer user_data)
 static guint request_id;
 static GWebParser *request_parser;
 
-static void web_result(GWebResult *result, gpointer user_data)
+static gboolean web_result(GWebResult *result, gpointer user_data)
 {
        const guint8 *chunk;
        gsize length;
@@ -256,7 +256,7 @@ static void web_result(GWebResult *result, gpointer user_data)
        if (length > 0) {
                //printf("%s\n", (char *) chunk);
                g_web_parser_feed_data(request_parser, chunk, length);
-               return;
+               return TRUE;
        }
 
        g_web_parser_end_data(request_parser);
@@ -269,6 +269,8 @@ done:
        g_print("elapse: %f seconds\n", elapsed);
 
        g_main_loop_quit(main_loop);
+
+       return FALSE;
 }
 
 static gboolean option_debug = FALSE;