Use variable args for vp_echo function.
authorDaniel Carl <danielcarl@gmx.de>
Thu, 1 Nov 2012 00:54:46 +0000 (01:54 +0100)
committerDaniel Carl <danielcarl@gmx.de>
Sat, 10 Nov 2012 13:43:03 +0000 (14:43 +0100)
src/main.c
src/main.h

index 1725492..142a396 100644 (file)
@@ -110,9 +110,7 @@ static void vp_inputbox_activate_cb(GtkEntry *entry, gpointer user_data)
         success = vp_process_input((text + 1));
         if (!success) {
             /* print error message */
-            gchar* message = g_strdup_printf("Command '%s' not found", (text + 1));
-            vp_echo(VP_MSG_ERROR, message);
-            g_free(message);
+            vp_echo(VP_MSG_ERROR, "Command '%s' not found", (text + 1));
 
             /* switch to normal mode after running command */
             Arg a = {VP_MODE_NORMAL};
@@ -468,8 +466,15 @@ void vp_update_statusbar(void)
     g_free(markup);
 }
 
-void vp_echo(const MessageType type, const gchar *message)
+void vp_echo(const MessageType type, const char *error, ...)
 {
+    va_list arg_list;
+
+    va_start(arg_list, error);
+    char message[255];
+    vsnprintf(message, 255, error, arg_list);
+    va_end(arg_list);
+
     /* don't print message if the input is focussed */
     if (gtk_widget_is_focus(GTK_WIDGET(vp.gui.inputbox))) {
         return;
index 54e0d4e..a20125c 100644 (file)
@@ -179,7 +179,7 @@ extern VpCore vp;
 /* functions */
 void vp_update_statusbar(void);
 void vp_update_urlbar(const gchar* uri);
-void vp_echo(const MessageType type, const gchar *message);
+void vp_echo(const MessageType type, const char *error, ...);
 gboolean vp_navigate(const Arg* arg);
 gboolean vp_scroll(const Arg* arg);
 gboolean vp_close_browser(const Arg* arg);