]> git.armaanb.net Git - chorizo.git/commitdiff
Embed the xterm for wget as well
authorPeter Hofmann <scm@uninformativ.de>
Sat, 14 Jun 2014 11:20:19 +0000 (13:20 +0200)
committerPeter Hofmann <scm@uninformativ.de>
Sat, 14 Jun 2014 11:20:19 +0000 (13:20 +0200)
sn.c

diff --git a/sn.c b/sn.c
index 86288c62e544e4ed9b9fd126615a87bada60e4b5..5f5ca458bed066dd29834ff244d762de792069cf 100644 (file)
--- a/sn.c
+++ b/sn.c
@@ -57,6 +57,8 @@ gboolean
 sn_do_download(WebKitWebView *web_view, WebKitDownload *download, gpointer data)
 {
        const gchar *uri;
+       char id[16] = "";
+       int ret;
 
        (void)web_view;
        (void)data;
@@ -65,7 +67,20 @@ sn_do_download(WebKitWebView *web_view, WebKitDownload *download, gpointer data)
        if (fork() == 0)
        {
                chdir(DOWNLOAD_DIR);
-               if (execlp("xterm", "xterm", "-hold", "-e", "wget", uri, NULL) == -1)
+               if (embed == 0)
+                       ret = execlp("xterm", "xterm", "-hold", "-e", "wget", uri, NULL);
+               else
+               {
+                       if (snprintf(id, 16, "%ld", embed) >= 16)
+                       {
+                               fprintf(stderr, "sn: id for xterm embed truncated!\n");
+                               exit(EXIT_FAILURE);
+                       }
+                       ret = execlp("xterm", "xterm", "-hold", "-into", id, "-e", "wget",
+                                    uri, NULL);
+               }
+
+               if (ret == -1)
                {
                        fprintf(stderr, "sn: exec'ing xterm for download");
                        perror(" failed");