diff options
Diffstat (limited to 'riscos/uri.c')
-rw-r--r-- | riscos/uri.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/riscos/uri.c b/riscos/uri.c index 0a2dcbbd1..986a84022 100644 --- a/riscos/uri.c +++ b/riscos/uri.c @@ -32,6 +32,7 @@ #include "riscos/uri.h" #include "riscos/url_protocol.h" #include "utils/log.h" +#include "utils/nsurl.h" #include "utils/utils.h" void ro_uri_message_received(wimp_message *msg) @@ -40,10 +41,20 @@ void ro_uri_message_received(wimp_message *msg) uri_h uri_handle; char* uri_requested; int uri_length; + nsurl *nsurl; uri_handle = uri_message->handle; - if (!fetch_can_fetch(uri_message->uri)) return; + if (nsurl_create(uri_message->uri, &nsurl) != NSERROR_OK) { + return; + } + + if (!fetch_can_fetch(nsurl)) { + nsurl_unref(nsurl); + return; + } + + nsurl_unref(nsurl); uri_message->your_ref = uri_message->my_ref; uri_message->action = message_URI_PROCESS_ACK; |