From aacfab616a43281d3517c83ea0b7129130708d77 Mon Sep 17 00:00:00 2001 From: mutantturkey Date: Sat, 16 Jul 2011 14:04:18 -0400 Subject: switched to using sprintf for download formatting, way cleaner --- callbacks.c | 9 +++++++-- defaults.h | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/callbacks.c b/callbacks.c index 5fa0747..39556f7 100644 --- a/callbacks.c +++ b/callbacks.c @@ -48,11 +48,16 @@ return FALSE; /* download callback */ void cb_download(WebKitWebView *web_view, GObject *d, gpointer user_data) { + gchar *command; -const gchar *c = webkit_download_get_uri(WEBKIT_DOWNLOAD(d)); -gchar *command = g_strconcat(DEFAULT_DOWNLOAD_COMMAND, DEFAULT_DOWNLOAD_LOCATION, "/ ", g_strdup(c), NULL); +const gchar *download_url = webkit_download_get_uri(WEBKIT_DOWNLOAD(d)); +const gchar *requested_name = webkit_download_get_suggested_filename(WEBKIT_DOWNLOAD(d)); +command = g_new0(gchar, strlen(DEFAULT_DOWNLOAD_COMMAND) + strlen(DEFAULT_DOWNLOAD_LOCATION) + strlen(requested_name) + strlen(download_url) + 1); +g_sprintf(command, DEFAULT_DOWNLOAD_COMMAND, DEFAULT_DOWNLOAD_LOCATION, requested_name, download_url); + g_spawn_command_line_async(command, NULL); g_free(command); + } diff --git a/defaults.h b/defaults.h index 28a17f7..0085993 100644 --- a/defaults.h +++ b/defaults.h @@ -1,4 +1,5 @@ -#define DEFAULT_DOWNLOAD "xterm -bg black -fg white -e wget -P " +#define DEFAULT_DOWNLOAD_COMMAND "xterm -bg black -fg white -e wget -P %s -o %s %s" +#define DEFAULT_DOWNLOAD_LOCATION g_get_home_dir() #define DEFAULT_SEARCH "http://www.google.com/search?q=" #define DEFAULT_FONT "san-serif" #define DEFAULT_TAB_LENGTH 25 -- cgit v1.2.3