summaryrefslogtreecommitdiff
path: root/amiga/arexx.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2009-03-28 12:50:19 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2009-03-28 12:50:19 +0000
commita28f64386e8f308d5a8e57b31b4d00a02cb8caa9 (patch)
tree8cdc7d073872a10b2acbb454261bca1e8e46d85f /amiga/arexx.c
parent02d61df4e53dbcf9d2ee9637295eaf9462c62598 (diff)
downloadnetsurf-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-xamiga/arexx.c12
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])
{