From a28f64386e8f308d5a8e57b31b4d00a02cb8caa9 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Sat, 28 Mar 2009 12:50:19 +0000 Subject: Implement a download queue for ARexx-initiated downloads. Working manually, however GummiSurf is causing it to crash for some reason. Split download/save routines off into a new file. svn path=/trunk/netsurf/; revision=6966 --- amiga/arexx.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'amiga/arexx.c') diff --git a/amiga/arexx.c b/amiga/arexx.c index a485c9327..bfa1e4253 100755 --- a/amiga/arexx.c +++ b/amiga/arexx.c @@ -23,6 +23,8 @@ #include "desktop/browser.h" #include "amiga/gui.h" #include +#include +#include "amiga/download.h" const char * const verarexx; const int verver; @@ -109,10 +111,16 @@ void ami_arexx_cleanup(void) STATIC VOID rx_open(struct ARexxCmd *cmd, struct RexxMsg *rxm __attribute__((unused))) { + struct dlnode *dln; + if(cmd->ac_ArgList[2]) { - curbw->window->dlfilename = strdup(cmd->ac_ArgList[2]); - browser_window_download(curbw,(char *)cmd->ac_ArgList[0],NULL); + dln = AllocVec(sizeof(struct dlnode),MEMF_PRIVATE | MEMF_CLEAR); + dln->filename = strdup((char *)cmd->ac_ArgList[2]); + dln->node.ln_Name = strdup((char *)cmd->ac_ArgList[0]); + dln->node.ln_Type = NT_USER; + AddTail(&curbw->window->dllist,dln); + if(!curbw->download) browser_window_download(curbw,(char *)cmd->ac_ArgList[0],NULL); } else if(cmd->ac_ArgList[1]) { -- cgit v1.2.3