summaryrefslogtreecommitdiff
path: root/amiga/menu.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2011-07-23 14:05:08 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2011-07-23 14:05:08 +0000
commitcd21f4035f881424d7fa150dd04693de313be841 (patch)
tree0c945eb3e5a7059a11654f395e7b9e33cf43eead /amiga/menu.c
parentdc6c58ec4150d933bf7054d55c1d5922ba513228 (diff)
downloadnetsurf-cd21f4035f881424d7fa150dd04693de313be841.tar.gz
netsurf-cd21f4035f881424d7fa150dd04693de313be841.tar.bz2
Fix ASL hook function
svn path=/trunk/netsurf/; revision=12615
Diffstat (limited to 'amiga/menu.c')
-rwxr-xr-xamiga/menu.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/amiga/menu.c b/amiga/menu.c
index 0f91bf414..ed1966df7 100755
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -43,6 +43,7 @@
#include "amiga/clipboard.h"
#include "amiga/cookies.h"
#include "amiga/download.h"
+#include "amiga/filetype.h"
#include "amiga/gui.h"
#include "amiga/gui_options.h"
#include "amiga/history.h"
@@ -475,7 +476,7 @@ void ami_menupick(ULONG code,struct gui_window_2 *gwin,struct MenuItem *item)
subnum = SUBNUM(code);
char *temp, *temp2;
BPTR lock = 0;
- char *source_data;
+ const char *source_data;
ULONG source_size;
struct bitmap *bm;
int sel = 0;
@@ -530,7 +531,7 @@ void ami_menupick(ULONG code,struct gui_window_2 *gwin,struct MenuItem *item)
ASLFR_InitialFile,FilePart(content_get_url(gwin->bw->current_content)),
TAG_DONE))
{
- strlcpy(&fname,savereq->fr_Drawer,1024);
+ strlcpy(fname,savereq->fr_Drawer,1024);
AddPart(fname,savereq->fr_File,1024);
ami_update_pointer(gwin->win,GUI_POINTER_WAIT);
@@ -556,7 +557,7 @@ void ami_menupick(ULONG code,struct gui_window_2 *gwin,struct MenuItem *item)
ASLFR_InitialFile,FilePart(content_get_url(gwin->bw->current_content)),
TAG_DONE))
{
- strlcpy(&fname,savereq->fr_Drawer,1024);
+ strlcpy(fname,savereq->fr_Drawer,1024);
AddPart(fname,savereq->fr_File,1024);
ami_update_pointer(gwin->win,GUI_POINTER_WAIT);
@@ -576,7 +577,7 @@ void ami_menupick(ULONG code,struct gui_window_2 *gwin,struct MenuItem *item)
ASLFR_InitialFile,FilePart(content_get_url(gwin->bw->current_content)),
TAG_DONE))
{
- strlcpy(&fname,savereq->fr_Drawer,1024);
+ strlcpy(fname,savereq->fr_Drawer,1024);
AddPart(fname,savereq->fr_File,1024);
ami_update_pointer(gwin->win,GUI_POINTER_WAIT);
if(ami_download_check_overwrite(fname, gwin->win))
@@ -623,13 +624,13 @@ void ami_menupick(ULONG code,struct gui_window_2 *gwin,struct MenuItem *item)
ASLFR_InitialFile,FilePart(content_get_url(gwin->bw->current_content)),
TAG_DONE))
{
- strlcpy(&fname,savereq->fr_Drawer,1024);
+ strlcpy(fname,savereq->fr_Drawer,1024);
AddPart(fname,savereq->fr_File,1024);
ami_update_pointer(gwin->win,GUI_POINTER_WAIT);
if((bm = content_get_bitmap(gwin->bw->current_content)))
{
- bm->url = content_get_url(gwin->bw->current_content);
- bm->title = content_get_title(gwin->bw->current_content);
+ bm->url = (char *)content_get_url(gwin->bw->current_content);
+ bm->title = (char *)content_get_title(gwin->bw->current_content);
if(bitmap_save(bm, fname, 0))
SetComment(fname, content_get_url(gwin->bw->current_content));
}
@@ -721,8 +722,8 @@ void ami_menupick(ULONG code,struct gui_window_2 *gwin,struct MenuItem *item)
}
else if(bm = content_get_bitmap(gwin->bw->current_content))
{
- bm->url = content_get_url(gwin->bw->current_content);
- bm->title = content_get_title(gwin->bw->current_content);
+ bm->url = (char *)content_get_url(gwin->bw->current_content);
+ bm->title = (char *)content_get_title(gwin->bw->current_content);
ami_easy_clipboard_bitmap(bm);
}
#ifdef WITH_NS_SVG
@@ -886,6 +887,8 @@ static const ULONG ami_asl_mime_hook(struct Hook *mh,struct FileRequester *fr,st
char fname[1024];
BOOL ret = FALSE;
char *mt = NULL;
+ lwc_string *lwc_mt = NULL;
+ lwc_error lerror;
content_type ct;
if(ap->ap_Info.fib_DirEntryType > 0) return(TRUE);
@@ -894,7 +897,12 @@ static const ULONG ami_asl_mime_hook(struct Hook *mh,struct FileRequester *fr,st
AddPart(fname,ap->ap_Info.fib_FileName,1024);
mt = fetch_mimetype(fname);
- ct = content_factory_type_from_mime_type(mt);
+ lerror = lwc_intern_string(mt, strlen(mt), &lwc_mt);
+ if (lerror != lwc_error_ok)
+ return FALSE;
+
+ ct = content_factory_type_from_mime_type(lwc_mt);
+ lwc_string_unref(lwc_mt);
if(ct != CONTENT_NONE) ret = TRUE;