diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-03-28 12:50:19 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-03-28 12:50:19 +0000 |
commit | a28f64386e8f308d5a8e57b31b4d00a02cb8caa9 (patch) | |
tree | 8cdc7d073872a10b2acbb454261bca1e8e46d85f /amiga/arexx.c | |
parent | 02d61df4e53dbcf9d2ee9637295eaf9462c62598 (diff) | |
download | netsurf-a28f64386e8f308d5a8e57b31b4d00a02cb8caa9.tar.gz netsurf-a28f64386e8f308d5a8e57b31b4d00a02cb8caa9.tar.bz2 |
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
Diffstat (limited to 'amiga/arexx.c')
-rwxr-xr-x | amiga/arexx.c | 12 |
1 files changed, 10 insertions, 2 deletions
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 <proto/dos.h> +#include <proto/exec.h> +#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]) { |