Gitweb links:

...log 
http://git.netsurf-browser.org/netsurf.git/shortlog/35bc2ccbb89a6b499e0e3b6f7095afea214f0c59
...commit 
http://git.netsurf-browser.org/netsurf.git/commit/35bc2ccbb89a6b499e0e3b6f7095afea214f0c59
...tree 
http://git.netsurf-browser.org/netsurf.git/tree/35bc2ccbb89a6b499e0e3b6f7095afea214f0c59

The branch, master has been updated
       via  35bc2ccbb89a6b499e0e3b6f7095afea214f0c59 (commit)
       via  f966580d22d47ab97bceb2f067fc2b9402af01b7 (commit)
      from  8dc78699374dca5b8369ffa65a6e27a3eeb8f985 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=35bc2ccbb89a6b499e0e3b6f7095afea214f0c59
commit 35bc2ccbb89a6b499e0e3b6f7095afea214f0c59
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    change content get_source_data interfaces to return uint8_t and size_t
    
    previously these interfaces returned char * and unsigned int which was
    undesirable.

diff --git a/content/content.c b/content/content.c
index bb5c47b..3a56280 100644
--- a/content/content.c
+++ b/content/content.c
@@ -1239,27 +1239,21 @@ int content__get_available_width(struct content *c)
 
 
 /* exported interface documented in content/content.h */
-const char *content_get_source_data(hlcache_handle *h, unsigned long *size)
+const uint8_t *content_get_source_data(hlcache_handle *h, size_t *size)
 {
        return content__get_source_data(hlcache_handle_get_content(h), size);
 }
 
 /* exported interface documented in content/content_protected.h */
-const char *content__get_source_data(struct content *c, unsigned long *size)
+const uint8_t *content__get_source_data(struct content *c, size_t *size)
 {
-       const uint8_t *data;
-       size_t len;
-
        assert(size != NULL);
 
+       /** \todo check if the content check should be an assert */
        if (c == NULL)
                return NULL;
 
-       data = llcache_handle_get_source_data(c->llcache, &len);
-
-       *size = (unsigned long) len;
-
-       return (const char *) data;
+       return llcache_handle_get_source_data(c->llcache, size);
 }
 
 /* exported interface documented in content/content.h */
diff --git a/content/content_protected.h b/content/content_protected.h
index 99a05cf..0101790 100644
--- a/content/content_protected.h
+++ b/content/content_protected.h
@@ -17,8 +17,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-/** \file
- * Content handling (interface).
+/**
+ * \file
+ * Protected interface to Content handling.
  *
  * The content functions manipulate struct contents, which correspond to URLs.
  */
@@ -255,7 +256,7 @@ int content__get_available_width(struct content *c);
  * \param size Pointer to location to receive byte size of source.
  * \return Pointer to source data.
  */
-const char *content__get_source_data(struct content *c, unsigned long *size);
+const uint8_t *content__get_source_data(struct content *c, size_t *size);
 
 /**
  * Invalidate content reuse data.
diff --git a/content/handlers/css/css.c b/content/handlers/css/css.c
index dda044d..0dcbe99 100644
--- a/content/handlers/css/css.c
+++ b/content/handlers/css/css.c
@@ -80,8 +80,6 @@ typedef struct {
                                                 *   imports array */
 } nscss_import_ctx;
 
-static bool nscss_process_data(struct content *c, const char *data,
-               unsigned int size);
 static bool nscss_convert(struct content *c);
 static void nscss_destroy(struct content *c);
 static nserror nscss_clone(const struct content *old, struct content **newc);
@@ -245,7 +243,8 @@ static nserror nscss_create_css_data(struct 
content_css_data *c,
  * \param size  Number of bytes to process
  * \return true on success, false on failure
  */
-bool nscss_process_data(struct content *c, const char *data, unsigned int size)
+static bool
+nscss_process_data(struct content *c, const char *data, unsigned int size)
 {
        nscss_content *css = (nscss_content *) c;
        css_error error;
@@ -374,8 +373,8 @@ nserror nscss_clone(const struct content *old, struct 
content **newc)
 {
        const nscss_content *old_css = (const nscss_content *) old;
        nscss_content *new_css;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        nserror error;
 
        new_css = calloc(1, sizeof(nscss_content));
@@ -402,7 +401,9 @@ nserror nscss_clone(const struct content *old, struct 
content **newc)
 
        data = content__get_source_data(&new_css->base, &size);
        if (size > 0) {
-               if (nscss_process_data(&new_css->base, data, size) == false) {
+               if (nscss_process_data(&new_css->base,
+                                      (char *)data,
+                                      (unsigned int)size) == false) {
                        content_destroy(&new_css->base);
                        return NSERROR_CLONE_FAILED;
                }
diff --git a/content/handlers/html/html.c b/content/handlers/html/html.c
index 4ffdb39..a7fea6d 100644
--- a/content/handlers/html/html.c
+++ b/content/handlers/html/html.c
@@ -1114,8 +1114,8 @@ html_process_encoding_change(struct content *c,
        dom_hubbub_parser_params parse_params;
        dom_hubbub_error error;
        const char *encoding;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
        /* Retrieve new encoding */
        encoding = dom_hubbub_parser_get_encoding(html->parser,
@@ -1181,7 +1181,7 @@ html_process_encoding_change(struct content *c,
         * it cannot be changed again.
         */
        error = dom_hubbub_parser_parse_chunk(html->parser,
-                                             (const uint8_t *)source_data,
+                                             source_data,
                                              source_size);
 
        return libdom_hubbub_error_to_nserror(error);
diff --git a/content/handlers/html/html_script.c 
b/content/handlers/html/html_script.c
index 1affb76..203dc50 100644
--- a/content/handlers/html/html_script.c
+++ b/content/handlers/html/html_script.c
@@ -42,7 +42,7 @@
 #include "html/html.h"
 #include "html/html_internal.h"
 
-typedef bool (script_handler_t)(struct jscontext *jscontext, const char *data, 
size_t size, const char *name);
+typedef bool (script_handler_t)(struct jscontext *jscontext, const uint8_t 
*data, size_t size, const char *name);
 
 
 static script_handler_t *select_script_handler(content_type ctype)
@@ -90,8 +90,8 @@ nserror html_script_exec(html_content *c, bool allow_defer)
                        if (content_get_status(s->data.handle) ==
                                        CONTENT_STATUS_DONE) {
                                /* external script is now available */
-                               const char *data;
-                               unsigned long size;
+                               const uint8_t *data;
+                               size_t size;
                                data = content_get_source_data(
                                                s->data.handle, &size );
                                script_handler(c->jscontext, data, size,
@@ -305,8 +305,8 @@ convert_script_sync_cb(hlcache_handle *script,
                script_handler = 
select_script_handler(content_get_type(s->data.handle));
                if (script_handler != NULL && parent->jscontext != NULL) {
                        /* script has a handler */
-                       const char *data;
-                       unsigned long size;
+                       const uint8_t *data;
+                       size_t size;
                        data = content_get_source_data(s->data.handle, &size );
                        script_handler(parent->jscontext, data, size,
                                       
nsurl_access(hlcache_handle_get_url(s->data.handle)));
@@ -532,7 +532,7 @@ exec_inline_script(html_content *c, dom_node *node, 
dom_string *mimetype)
 
        if (script_handler != NULL) {
                script_handler(c->jscontext,
-                              dom_string_data(script),
+                              (const uint8_t *)dom_string_data(script),
                               dom_string_byte_length(script),
                               "?inline script?");
        }
diff --git a/content/handlers/image/bmp.c b/content/handlers/image/bmp.c
index 48a37fb..75d8880 100644
--- a/content/handlers/image/bmp.c
+++ b/content/handlers/image/bmp.c
@@ -122,8 +122,8 @@ static bool nsbmp_convert(struct content *c)
        nsbmp_content *bmp = (nsbmp_content *) c;
        bmp_result res;
        uint32_t swidth;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        char *title;
 
        /* set the bmp data */
diff --git a/content/handlers/image/gif.c b/content/handlers/image/gif.c
index 253265c..ee85a63 100644
--- a/content/handlers/image/gif.c
+++ b/content/handlers/image/gif.c
@@ -236,8 +236,8 @@ static bool nsgif_convert(struct content *c)
 {
        nsgif_content *gif = (nsgif_content *) c;
        int res;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        char *title;
 
        /* Get the animation */
diff --git a/content/handlers/image/ico.c b/content/handlers/image/ico.c
index 85aab9f..4675333 100644
--- a/content/handlers/image/ico.c
+++ b/content/handlers/image/ico.c
@@ -120,8 +120,8 @@ static bool nsico_convert(struct content *c)
        nsico_content *ico = (nsico_content *) c;
        struct bmp_image *bmp;
        bmp_result res;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        char *title;
 
        /* set the ico data */
diff --git a/content/handlers/image/jpeg.c b/content/handlers/image/jpeg.c
index e2f5f8f..52cdb22 100644
--- a/content/handlers/image/jpeg.c
+++ b/content/handlers/image/jpeg.c
@@ -168,8 +168,8 @@ static void nsjpeg_error_exit(j_common_ptr cinfo)
 static struct bitmap *
 jpeg_cache_convert(struct content *c)
 {
-       uint8_t *source_data; /* Jpeg source data */
-       unsigned long source_size; /* length of Jpeg source data */
+       const uint8_t *source_data; /* Jpeg source data */
+       size_t source_size; /* length of Jpeg source data */
        struct jpeg_decompress_struct cinfo;
        struct jpeg_error_mgr jerr;
        jmp_buf setjmp_buffer;
@@ -188,7 +188,7 @@ jpeg_cache_convert(struct content *c)
                nsjpeg_term_source };
 
        /* obtain jpeg source data and perfom minimal sanity checks */
-       source_data = (uint8_t *)content__get_source_data(c, &source_size);
+       source_data = content__get_source_data(c, &source_size);
 
        if ((source_data == NULL) ||
            (source_size < MIN_JPEG_SIZE)) {
@@ -315,8 +315,8 @@ static bool nsjpeg_convert(struct content *c)
                nsjpeg_skip_input_data, jpeg_resync_to_restart,
                nsjpeg_term_source };
        union content_msg_data msg_data;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        char *title;
 
        /* check image header is valid and get width/height */
diff --git a/content/handlers/image/nssprite.c 
b/content/handlers/image/nssprite.c
index 269c243..916bcbd 100644
--- a/content/handlers/image/nssprite.c
+++ b/content/handlers/image/nssprite.c
@@ -98,8 +98,8 @@ static bool nssprite_convert(struct content *c)
 
        struct rosprite_mem_context* ctx = NULL;
 
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        char *title;
 
        data = content__get_source_data(c, &size);
diff --git a/content/handlers/image/png.c b/content/handlers/image/png.c
index 7a4ce30..841d5de 100644
--- a/content/handlers/image/png.c
+++ b/content/handlers/image/png.c
@@ -367,8 +367,8 @@ static bool nspng_process_data(struct content *c, const 
char *data,
 }
 
 struct png_cache_read_data_s {
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
 };
 
 /** PNG library read fucntion to read data from a memory array 
@@ -551,8 +551,8 @@ static nserror nspng_clone(const struct content *old_c, 
struct content **new_c)
 {
        nspng_content *clone_png_c;
        nserror error;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
 
        clone_png_c = calloc(1, sizeof(nspng_content));
        if (clone_png_c == NULL)
@@ -573,7 +573,7 @@ static nserror nspng_clone(const struct content *old_c, 
struct content **new_c)
 
        data = content__get_source_data(&clone_png_c->base, &size);
        if (size > 0) {
-               if (nspng_process_data(&clone_png_c->base, data, size) == 
false) {
+               if (nspng_process_data(&clone_png_c->base, (const char *)data, 
size) == false) {
                        content_destroy(&clone_png_c->base);
                        return NSERROR_NOMEM;
                }
diff --git a/content/handlers/image/rsvg.c b/content/handlers/image/rsvg.c
index 2ba1b49..ee73737 100644
--- a/content/handlers/image/rsvg.c
+++ b/content/handlers/image/rsvg.c
@@ -262,8 +262,8 @@ static nserror rsvg_clone(const struct content *old, struct 
content **newc)
 {
        rsvg_content *svg;
        nserror error;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
 
        svg = calloc(1, sizeof(rsvg_content));
        if (svg == NULL)
@@ -284,7 +284,7 @@ static nserror rsvg_clone(const struct content *old, struct 
content **newc)
 
        data = content__get_source_data(&svg->base, &size);
        if (size > 0) {
-               if (rsvg_process_data(&svg->base, data, size) == false) {
+               if (rsvg_process_data(&svg->base, (const char *)data, size) == 
false) {
                        content_destroy(&svg->base);
                        return NSERROR_NOMEM;
                }
diff --git a/content/handlers/image/svg.c b/content/handlers/image/svg.c
index 9972249..3f4e00c 100644
--- a/content/handlers/image/svg.c
+++ b/content/handlers/image/svg.c
@@ -126,8 +126,8 @@ static bool svg_convert(struct content *c)
 static void svg_reformat(struct content *c, int width, int height)
 {
        svg_content *svg = (svg_content *) c;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
        assert(svg->diagram);
 
@@ -135,9 +135,12 @@ static void svg_reformat(struct content *c, int width, int 
height)
        if (width != svg->current_width || height != svg->current_height) {
                source_data = content__get_source_data(c, &source_size);
 
-               svgtiny_parse(svg->diagram, source_data, source_size,
-                               nsurl_access(content_get_url(c)),
-                               width, height);
+               svgtiny_parse(svg->diagram,
+                             (const char *)source_data,
+                             source_size,
+                             nsurl_access(content_get_url(c)),
+                             width,
+                             height);
 
                svg->current_width = width;
                svg->current_height = height;
@@ -222,7 +225,7 @@ svg_redraw_internal(struct content *c,
                                return false;
                        }
                }
-        }
+       }
 
 #undef BGR
 
@@ -361,5 +364,3 @@ static const char *svg_types[] = {
 
 
 CONTENT_FACTORY_REGISTER_TYPES(svg, svg_types, svg_content_handler);
-
-
diff --git a/content/handlers/image/webp.c b/content/handlers/image/webp.c
index 66a86c9..cbcb5ce 100644
--- a/content/handlers/image/webp.c
+++ b/content/handlers/image/webp.c
@@ -88,7 +88,7 @@ static struct bitmap *
 webp_cache_convert(struct content *c)
 {
        const uint8_t *source_data; /* webp source data */
-       unsigned long source_size; /* length of webp source data */
+       size_t source_size; /* length of webp source data */
        VP8StatusCode webpres;
        WebPBitstreamFeatures webpfeatures;
        unsigned int bmap_flags;
@@ -97,7 +97,7 @@ webp_cache_convert(struct content *c)
        size_t rowstride;
        struct bitmap *bitmap = NULL;
 
-       source_data = (uint8_t *)content__get_source_data(c, &source_size);
+       source_data = content__get_source_data(c, &source_size);
 
        webpres = WebPGetFeatures(source_data, source_size, &webpfeatures);
 
@@ -156,12 +156,12 @@ webp_cache_convert(struct content *c)
 static bool webp_convert(struct content *c)
 {
        int res;
-       unsigned long data_size;
        const uint8_t* data;
+       size_t data_size;
        int width;
        int height;
 
-       data = (uint8_t *)content__get_source_data(c, &data_size);
+       data = content__get_source_data(c, &data_size);
 
        res = WebPGetInfo(data, data_size, &width, &height);
        if (res == 0) {
diff --git a/content/handlers/javascript/duktape/dukky.c 
b/content/handlers/javascript/duktape/dukky.c
index d1bd4ec..e9e579d 100644
--- a/content/handlers/javascript/duktape/dukky.c
+++ b/content/handlers/javascript/duktape/dukky.c
@@ -761,10 +761,16 @@ void dukky_push_generics(duk_context *ctx, const char 
*generic)
        /* ..., generic */
 }
 
-bool js_exec(jscontext *ctx, const char *txt, size_t txtlen, const char *name)
+/* exported interface documented in js.h */
+bool
+js_exec(jscontext *ctx, const uint8_t *txt, size_t txtlen, const char *name)
 {
        assert(ctx);
-       if (txt == NULL || txtlen == 0) return false;
+
+       if (txt == NULL || txtlen == 0) {
+               return false;
+       }
+
        duk_set_top(CTX, 0);
        NSLOG(dukky, DEEPDEBUG, "Running %"PRIsizet" bytes from %s", txtlen, 
name);
        /* NSLOG(dukky, DEEPDEBUG, "\n%s\n", txt); */
@@ -775,7 +781,10 @@ bool js_exec(jscontext *ctx, const char *txt, size_t 
txtlen, const char *name)
        } else {
                duk_push_string(CTX, "?unknown source?");
        }
-       if (duk_pcompile_lstring_filename(CTX, DUK_COMPILE_EVAL, txt, txtlen) 
!= 0) {
+       if (duk_pcompile_lstring_filename(CTX,
+                                         DUK_COMPILE_EVAL,
+                                         (const char *)txt,
+                                         txtlen) != 0) {
                NSLOG(dukky, INFO, "Failed to compile JavaScript input");
                goto handle_error;
        }
diff --git a/content/handlers/javascript/js.h b/content/handlers/javascript/js.h
index 89a87af..31ab8f7 100644
--- a/content/handlers/javascript/js.h
+++ b/content/handlers/javascript/js.h
@@ -67,7 +67,7 @@ void js_destroycontext(jscontext *ctx);
 jsobject *js_newcompartment(jscontext *ctx, void *win_priv, void *doc_priv);
 
 /* execute some javascript in a context */
-bool js_exec(jscontext *ctx, const char *txt, size_t txtlen, const char *name);
+bool js_exec(jscontext *ctx, const uint8_t *txt, size_t txtlen, const char 
*name);
 
 
 /* fire an event at a dom node */
diff --git a/content/handlers/javascript/none/none.c 
b/content/handlers/javascript/none/none.c
index e1c992e..80a9ce4 100644
--- a/content/handlers/javascript/none/none.c
+++ b/content/handlers/javascript/none/none.c
@@ -51,7 +51,7 @@ jsobject *js_newcompartment(jscontext *ctx, void *win_priv, 
void *doc_priv)
        return NULL;
 }
 
-bool js_exec(jscontext *ctx, const char *txt, size_t txtlen, const char *name)
+bool js_exec(jscontext *ctx, const uint8_t *txt, size_t txtlen, const char 
*name)
 {
        return true;
 }
diff --git a/content/handlers/text/textplain.c 
b/content/handlers/text/textplain.c
index 692ba7e..9e9e3e9 100644
--- a/content/handlers/text/textplain.c
+++ b/content/handlers/text/textplain.c
@@ -554,8 +554,8 @@ static nserror textplain_clone(const struct content *old, 
struct content **newc)
        const textplain_content *old_text = (textplain_content *) old;
        textplain_content *text;
        nserror error;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
 
        text = calloc(1, sizeof(textplain_content));
        if (text == NULL)
@@ -576,7 +576,9 @@ static nserror textplain_clone(const struct content *old, 
struct content **newc)
 
        data = content__get_source_data(&text->base, &size);
        if (size > 0) {
-               if (textplain_process_data(&text->base, data, size) == false) {
+               if (textplain_process_data(&text->base,
+                                          (const char *)data,
+                                          size) == false) {
                        content_destroy(&text->base);
                        return NSERROR_NOMEM;
                }
diff --git a/desktop/save_complete.c b/desktop/save_complete.c
index ef794d4..c6f311a 100644
--- a/desktop/save_complete.c
+++ b/desktop/save_complete.c
@@ -152,9 +152,12 @@ static bool 
save_complete_ctx_has_content(save_complete_ctx *ctx,
        return false;
 }
 
-static bool save_complete_save_buffer(save_complete_ctx *ctx,
-               const char *leafname, const char *data, size_t data_len,
-               lwc_string *mime_type)
+static bool
+save_complete_save_buffer(save_complete_ctx *ctx,
+                         const char *leafname,
+                         const uint8_t *data,
+                         size_t data_len,
+                         lwc_string *mime_type)
 {
        nserror ret;
        FILE *fp;
@@ -196,14 +199,14 @@ static bool save_complete_save_buffer(save_complete_ctx 
*ctx,
  * \param osize updated with the size of the result.
  * \return converted source, or NULL on out of memory.
  */
-static char *
+static uint8_t *
 save_complete_rewrite_stylesheet_urls(save_complete_ctx *ctx,
-                                     const char *source,
-                                     unsigned long size,
+                                     const uint8_t *source,
+                                     size_t size,
                                      const nsurl *base,
-                                     unsigned long *osize)
+                                     size_t *osize)
 {
-       char *rewritten;
+       uint8_t *rewritten;
        unsigned long offset = 0;
        unsigned int imports = 0;
        nserror error;
@@ -231,13 +234,16 @@ save_complete_rewrite_stylesheet_urls(save_complete_ctx 
*ctx,
 
        offset = 0;
        while (offset < size) {
-               const char *import_url = NULL;
+               const uint8_t *import_url = NULL;
                char *import_url_copy;
                int import_url_len = 0;
                nsurl *url = NULL;
                regmatch_t match[11];
-               int m = regexec(&save_complete_import_re, source + offset,
-                               11, match, 0);
+               int m = regexec(&save_complete_import_re,
+                               (const char *)source + offset,
+                               11,
+                               match,
+                               0);
                if (m)
                        break;
 
@@ -259,7 +265,8 @@ save_complete_rewrite_stylesheet_urls(save_complete_ctx 
*ctx,
                }
                assert(import_url != NULL);
 
-               import_url_copy = strndup(import_url, import_url_len);
+               import_url_copy = strndup((const char *)import_url,
+                                         import_url_len);
                if (import_url_copy == NULL) {
                        free(rewritten);
                        return NULL;
@@ -315,13 +322,13 @@ save_complete_rewrite_stylesheet_urls(save_complete_ctx 
*ctx,
        return rewritten;
 }
 
-static bool save_complete_save_stylesheet(save_complete_ctx *ctx,
-               hlcache_handle *css)
+static bool
+save_complete_save_stylesheet(save_complete_ctx *ctx, hlcache_handle *css)
 {
-       const char *css_data;
-       unsigned long css_size;
-       char *source;
-       unsigned long source_len;
+       const uint8_t *css_data;
+       size_t css_size;
+       uint8_t *source;
+       size_t source_len;
        struct nscss_import *imports;
        uint32_t import_count;
        lwc_string *type;
@@ -342,8 +349,12 @@ static bool 
save_complete_save_stylesheet(save_complete_ctx *ctx,
                return false;
 
        css_data = content_get_source_data(css, &css_size);
-       source = save_complete_rewrite_stylesheet_urls(ctx, css_data, css_size,
-                       hlcache_handle_get_url(css), &source_len);
+       source = save_complete_rewrite_stylesheet_urls(
+               ctx,
+               css_data,
+               css_size,
+               hlcache_handle_get_url(css),
+               &source_len);
        if (source == NULL) {
                guit->misc->warning("NoMemory", 0);
                return false;
@@ -408,11 +419,11 @@ static bool 
save_complete_save_html_stylesheets(save_complete_ctx *ctx,
        return true;
 }
 
-static bool save_complete_save_html_object(save_complete_ctx *ctx,
-               hlcache_handle *obj)
+static bool
+save_complete_save_html_object(save_complete_ctx *ctx, hlcache_handle *obj)
 {
-       const char *obj_data;
-       unsigned long obj_size;
+       const uint8_t *obj_data;
+       size_t obj_size;
        lwc_string *type;
        bool result;
        char filename[32];
@@ -898,13 +909,13 @@ static bool 
save_complete_handle_element(save_complete_ctx *ctx,
                }
 
                if (content != NULL) {
-                       char *rewritten;
-                       unsigned long len;
+                       uint8_t *rewritten;
+                       size_t len;
 
                        /* Rewrite @import rules */
                        rewritten = save_complete_rewrite_stylesheet_urls(
                                        ctx,
-                                       dom_string_data(content),
+                                       (const uint8_t 
*)dom_string_data(content),
                                        dom_string_byte_length(content),
                                        ctx->base,
                                        &len);
diff --git a/frontends/amiga/arexx.c b/frontends/amiga/arexx.c
index acb0348..5be8a4f 100644
--- a/frontends/amiga/arexx.c
+++ b/frontends/amiga/arexx.c
@@ -346,8 +346,6 @@ RXHOOKF(rx_open)
 RXHOOKF(rx_save)
 {
        BPTR fh = 0;
-       ULONG source_size;
-       const char *source_data;
        struct gui_window *gw = cur_gw;
 
        cmd->ac_RC = 0;
@@ -361,9 +359,13 @@ RXHOOKF(rx_save)
                                        
        if((fh = FOpen((char *)cmd->ac_ArgList[0], MODE_NEWFILE, 0)))
        {
+               const uint8_t *source_data;
+               size_t source_size;
                struct hlcache_handle *h = browser_window_get_content(gw->bw);
-               if((source_data = content_get_source_data(h, &source_size)))
+               source_data = content_get_source_data(h, &source_size);
+               if (source_data != NULL) {
                        FWrite(fh, source_data, 1, source_size);
+               }
 
                FClose(fh);
                SetComment((char *)cmd->ac_ArgList[0], 
nsurl_access(browser_window_access_url(gw->bw)));
diff --git a/frontends/amiga/clipboard.c b/frontends/amiga/clipboard.c
index 27b8015..79dda39 100644
--- a/frontends/amiga/clipboard.c
+++ b/frontends/amiga/clipboard.c
@@ -349,15 +349,22 @@ bool ami_easy_clipboard_bitmap(struct bitmap *bitmap)
 #ifdef WITH_NS_SVG
 bool ami_easy_clipboard_svg(struct hlcache_handle *c)
 {
-       const char *source_data;
-       ULONG source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
-       if(ami_mime_compare(c, "svg") == false) return false;
-       if((source_data = content_get_source_data(c, &source_size)) == NULL) 
return false;
+       if (ami_mime_compare(c, "svg") == false) {
+               return false;
+       }
+       source_data = content_get_source_data(c, &source_size);
+       if (source_data == NULL) {
+               return false;
+       }
 
-       if(!(OpenIFF(iffh,IFFF_WRITE)))
-       {
-               ami_svg_to_dr2d(iffh, source_data, source_size, 
nsurl_access(hlcache_handle_get_url(c)));
+       if (!(OpenIFF(iffh,IFFF_WRITE))) {
+               ami_svg_to_dr2d(iffh,
+                               (const char *)source_data,
+                               source_size,
+                               nsurl_access(hlcache_handle_get_url(c)));
                CloseIFF(iffh);
        }
 
diff --git a/frontends/amiga/dt_anim.c b/frontends/amiga/dt_anim.c
index bd04920..8d7e895 100644
--- a/frontends/amiga/dt_anim.c
+++ b/frontends/amiga/dt_anim.c
@@ -167,15 +167,15 @@ bool amiga_dt_anim_convert(struct content *c)
        amiga_dt_anim_content *plugin = (amiga_dt_anim_content *) c;
        union content_msg_data msg_data;
        int width, height;
-       const uint8 *data;
+       const uint8_t *data;
+       size_t size;
        UBYTE *bm_buffer;
-       ULONG size;
        struct BitMapHeader *bmh;
        unsigned int bm_flags = BITMAP_NEW | BITMAP_OPAQUE;
        struct adtFrame adt_frame;
        APTR clut;
 
-       data = (uint8 *)content__get_source_data(c, &size);
+       data = content__get_source_data(c, &size);
 
        if((plugin->dto = NewDTObject(NULL,
                                        DTA_SourceType, DTST_MEMORY,
diff --git a/frontends/amiga/dt_picture.c b/frontends/amiga/dt_picture.c
index 88ce1c8..660b237 100644
--- a/frontends/amiga/dt_picture.c
+++ b/frontends/amiga/dt_picture.c
@@ -131,11 +131,11 @@ nserror amiga_dt_picture_create(const content_handler 
*handler,
 
 static Object *amiga_dt_picture_newdtobject(struct amiga_dt_picture_content 
*adt)
 {
-       const uint8 *data;
-       ULONG size;
+       const uint8_t *data;
+       size_t size;
 
        if(adt->dto == NULL) {
-               data = (uint8 *)content__get_source_data((struct content *)adt, 
&size);
+               data = content__get_source_data((struct content *)adt, &size);
 
                adt->dto = NewDTObject(NULL,
                                        DTA_SourceType, DTST_MEMORY,
@@ -152,12 +152,12 @@ static Object *amiga_dt_picture_newdtobject(struct 
amiga_dt_picture_content *adt
 
 static char *amiga_dt_picture_datatype(struct content *c)
 {
-       const uint8 *data;
-       ULONG size;
+       const uint8_t *data;
+       size_t size;
        struct DataType *dt;
        char *filetype = NULL;
        
-       data = (uint8 *)content__get_source_data(c, &size);
+       data = content__get_source_data(c, &size);
 
        if((dt = ObtainDataType(DTST_MEMORY, NULL,
                                        DTA_SourceAddress, data,
diff --git a/frontends/amiga/dt_sound.c b/frontends/amiga/dt_sound.c
index f3b365d..e0a794f 100644
--- a/frontends/amiga/dt_sound.c
+++ b/frontends/amiga/dt_sound.c
@@ -150,10 +150,10 @@ bool amiga_dt_sound_convert(struct content *c)
 
        amiga_dt_sound_content *plugin = (amiga_dt_sound_content *) c;
        int width = 50, height = 50;
-       const uint8 *data;
-       ULONG size;
+       const uint8_t *data;
+       size_t size;
 
-       data = (uint8 *)content__get_source_data(c, &size);
+       data = content__get_source_data(c, &size);
 
        plugin->dto = NewDTObject(NULL,
                                        DTA_SourceType, DTST_MEMORY,
diff --git a/frontends/amiga/file.c b/frontends/amiga/file.c
index 0fd4378..845491c 100644
--- a/frontends/amiga/file.c
+++ b/frontends/amiga/file.c
@@ -146,8 +146,9 @@ void ami_file_save(int type, char *fname, struct Window 
*win,
                struct browser_window *bw)
 {
        BPTR lock, fh;
-       const char *source_data;
-       ULONG source_size;
+       const uint8_t *source_data;
+       char *selection;
+       size_t source_size;
        struct bitmap *bm;
 
        ami_update_pointer(win, GUI_POINTER_WAIT);
@@ -155,7 +156,8 @@ void ami_file_save(int type, char *fname, struct Window 
*win,
        if(ami_download_check_overwrite(fname, win, 0)) {
                switch(type) {
                        case AMINS_SAVE_SOURCE:
-                               if((source_data = 
content_get_source_data(object, &source_size))) {
+                               source_data = content_get_source_data(object, 
&source_size);
+                               if(source_data) {
                                        BPTR fh;
                                        if((fh = FOpen(fname, MODE_NEWFILE,0))) 
{
                                                FWrite(fh, source_data, 1, 
source_size);
@@ -197,12 +199,17 @@ void ami_file_save(int type, char *fname, struct Window 
*win,
                        break;
 
                        case AMINS_SAVE_SELECTION:
-                               if((source_data = 
browser_window_get_selection(bw))) {
-                                       if((fh = FOpen(fname, MODE_NEWFILE,0))) 
{
-                                               FWrite(fh, source_data, 1, 
strlen(source_data));
+                               selection = browser_window_get_selection(bw);
+                               if(selection) {
+                                       fh = FOpen(fname, MODE_NEWFILE,0);
+                                       if (fh) {
+                                               FWrite(fh,
+                                                      selection,
+                                                      1,
+                                                      strlen(selection));
                                                FClose(fh);
                                        }
-                                       free((void *)source_data);
+                                       free(selection);
                                }
                        break;
                }
diff --git a/frontends/amiga/iff_dr2d.c b/frontends/amiga/iff_dr2d.c
index a4c5855..5de1463 100644
--- a/frontends/amiga/iff_dr2d.c
+++ b/frontends/amiga/iff_dr2d.c
@@ -310,22 +310,27 @@ bool ami_svg_to_dr2d(struct IFFHandle *iffh, const char 
*buffer,
 bool ami_save_svg(struct hlcache_handle *c,char *filename)
 {
        struct IFFHandle *iffh;
-       const char *source_data;
-       ULONG source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
-       if(!ami_download_check_overwrite(filename, NULL, 0)) return false;
+       if (!ami_download_check_overwrite(filename, NULL, 0)) return false;
 
-       if((iffh = AllocIFF())) {
-               if((iffh->iff_Stream = Open(filename,MODE_NEWFILE))) {
+       if ((iffh = AllocIFF())) {
+               if ((iffh->iff_Stream = Open(filename,MODE_NEWFILE))) {
                        InitIFFasDOS(iffh);
                }
                else return false;
        }
 
-       if((OpenIFF(iffh,IFFF_WRITE))) return false;
+       if ((OpenIFF(iffh,IFFF_WRITE))) return false;
 
-       if((source_data = content_get_source_data(c, &source_size)))
-               ami_svg_to_dr2d(iffh, source_data, source_size, 
nsurl_access(hlcache_handle_get_url(c)));
+       source_data = content_get_source_data(c, &source_size);
+       if (source_data != NULL) {
+               ami_svg_to_dr2d(iffh,
+                               (const char *)source_data,
+                               source_size,
+                               nsurl_access(hlcache_handle_get_url(c)));
+       }
 
        if(iffh) CloseIFF(iffh);
        if(iffh->iff_Stream) Close((BPTR)iffh->iff_Stream);
diff --git a/frontends/gtk/viewsource.c b/frontends/gtk/viewsource.c
index 87ff697..7c11862 100644
--- a/frontends/gtk/viewsource.c
+++ b/frontends/gtk/viewsource.c
@@ -34,8 +34,8 @@ nserror nsgtk_viewsource(GtkWindow *parent, struct 
browser_window *bw)
 {
        nserror ret;
        struct hlcache_handle *hlcontent;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        char *ndata = NULL;
        size_t ndata_len;
        char *filename;
@@ -67,8 +67,9 @@ nserror nsgtk_viewsource(GtkWindow *parent, struct 
browser_window *bw)
        }
        sprintf(title, "Source of %s - NetSurf", 
nsurl_access(browser_window_access_url(bw)));
 
-       ret = utf8_from_enc(source_data,
-                           content_get_encoding(hlcontent, 
CONTENT_ENCODING_NORMAL),
+       ret = utf8_from_enc((const char *)source_data,
+                           content_get_encoding(hlcontent,
+                                                CONTENT_ENCODING_NORMAL),
                            source_size,
                            &ndata,
                            &ndata_len);
diff --git a/frontends/riscos/content-handlers/artworks.c 
b/frontends/riscos/content-handlers/artworks.c
index 8ec4edc..fcae271 100644
--- a/frontends/riscos/content-handlers/artworks.c
+++ b/frontends/riscos/content-handlers/artworks.c
@@ -170,8 +170,8 @@ bool artworks_convert(struct content *c)
 {
        artworks_content *aw = (artworks_content *) c;
        union content_msg_data msg_data;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        void *init_workspace;
        void *init_routine;
        os_error *error;
@@ -224,7 +224,7 @@ bool artworks_convert(struct content *c)
        source_data = content__get_source_data(c, &source_size);
 
        /* initialise (convert file to new format if required) */
-       error = awrender_init(&source_data, &source_size,
+       error = awrender_init((const char **)&source_data, &source_size,
                        init_routine, init_workspace);
        if (error) {
                NSLOG(netsurf, INFO, "awrender_init: 0x%x : %s",
@@ -313,8 +313,8 @@ bool artworks_redraw(struct content *c, struct 
content_redraw_data *data,
        };
        artworks_content *aw = (artworks_content *) c;
        struct awinfo_block info;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        os_error *error;
        os_trfm matrix;
        int vals[24];
@@ -389,17 +389,17 @@ bool artworks_redraw(struct content *c, struct 
content_redraw_data *data,
 
        source_data = content__get_source_data(c, &source_size);
 
-       error = awrender_render(source_data,
-                       &info,
-                       &matrix,
-                       vals,
-                       &aw->block,
-                       &aw->size,
-                       110,    /* fully anti-aliased */
-                       0,
-                       source_size,
-                       aw->render_routine,
-                       aw->render_workspace);
+       error = awrender_render((const char *)source_data,
+                               &info,
+                               &matrix,
+                               vals,
+                               &aw->block,
+                               &aw->size,
+                               110,    /* fully anti-aliased */
+                               0,
+                               source_size,
+                               aw->render_routine,
+                               aw->render_workspace);
 
        if (error) {
                NSLOG(netsurf, INFO, "awrender_render: 0x%x: %s",
diff --git a/frontends/riscos/content-handlers/draw.c 
b/frontends/riscos/content-handlers/draw.c
index bb66f9d..a436cce 100644
--- a/frontends/riscos/content-handlers/draw.c
+++ b/frontends/riscos/content-handlers/draw.c
@@ -112,8 +112,8 @@ bool draw_convert(struct content *c)
 {
        draw_content *draw = (draw_content *) c;
        union content_msg_data msg_data;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        const void *data;
        os_box bbox;
        os_error *error;
@@ -180,8 +180,8 @@ bool draw_redraw(struct content *c, struct 
content_redraw_data *data,
 {
        draw_content *draw = (draw_content *) c;
        os_trfm matrix;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        const void *src_data;
        os_error *error;
 
diff --git a/frontends/riscos/content-handlers/sprite.c 
b/frontends/riscos/content-handlers/sprite.c
index 3556aa5..650d8e9 100644
--- a/frontends/riscos/content-handlers/sprite.c
+++ b/frontends/riscos/content-handlers/sprite.c
@@ -16,7 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-/** \file
+/**
+ * \file
  * Content for image/x-riscos-sprite (RISC OS implementation).
  *
  * No conversion is necessary: we can render RISC OS sprites directly under
@@ -112,8 +113,8 @@ bool sprite_convert(struct content *c)
        os_error *error;
        int w, h;
        union content_msg_data msg_data;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        const void *sprite_data;
        char *title;
 
diff --git a/frontends/riscos/gui.c b/frontends/riscos/gui.c
index be1bc8d..93bad16 100644
--- a/frontends/riscos/gui.c
+++ b/frontends/riscos/gui.c
@@ -1980,8 +1980,8 @@ void ro_gui_view_source(struct hlcache_handle *c)
        int objtype;
        bool done = false;
 
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
        if (!c) {
                ro_warn_user("MiscError", "No document source");
diff --git a/frontends/riscos/save.c b/frontends/riscos/save.c
index 76ce6d3..8679760 100644
--- a/frontends/riscos/save.c
+++ b/frontends/riscos/save.c
@@ -908,8 +908,8 @@ static bool ro_gui_save_object_native(struct hlcache_handle 
*h, char *path)
 
        if (file_type == osfile_TYPE_SPRITE || file_type == osfile_TYPE_DRAW) {
                /* Native sprite or drawfile */
-               const char *source_data;
-               unsigned long source_size;
+               const uint8_t *source_data;
+               size_t source_size;
                os_error *error;
 
                source_data = content_get_source_data(h, &source_size);
@@ -960,8 +960,8 @@ static bool
 ro_gui_save_content(struct hlcache_handle *h, char *path, bool force_overwrite)
 {
        os_error *error;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
        /* does the user want to check for collisions when saving? */
        if (!force_overwrite) {
diff --git a/frontends/riscos/theme_install.c b/frontends/riscos/theme_install.c
index fbca9e4..a235fe4 100644
--- a/frontends/riscos/theme_install.c
+++ b/frontends/riscos/theme_install.c
@@ -47,8 +47,6 @@ wimp_w dialog_theme_install;
 static void theme_install_close(wimp_w w);
 static nserror theme_install_callback(struct hlcache_handle *handle,
                const hlcache_event *event, void *pw);
-static bool theme_install_read(const char *source_data, 
-               unsigned long source_size);
 
 
 /**
@@ -80,6 +78,33 @@ void theme_install_start(struct hlcache_handle *c)
 
 
 /**
+ * Fill in theme_install_descriptor from received theme data.
+ *
+ * \param  source_data  received data
+ * \param  source_size  size of data
+ * \return  true if data is a correct theme, false on error
+ *
+ * If the data is a correct theme, theme_install_descriptor is filled in.
+ */
+
+static bool
+theme_install_read(const uint8_t *source_data, size_t source_size)
+{
+       const void *data = source_data;
+
+       if (source_size < sizeof(struct theme_file_header))
+               return false;
+       if (!ro_gui_theme_read_file_header(&theme_install_descriptor,
+                       (struct theme_file_header *) data))
+               return false;
+       if (source_size - sizeof(struct theme_file_header) !=
+                       theme_install_descriptor.compressed_size)
+               return false;
+       return true;
+}
+
+
+/**
  * Callback for fetchcache() for theme install fetches.
  */
 
@@ -90,8 +115,8 @@ nserror theme_install_callback(struct hlcache_handle *handle,
 
        case CONTENT_MSG_DONE:
        {
-               const char *source_data;
-               unsigned long source_size;
+               const uint8_t *source_data;
+               size_t source_size;
                int author_indent = 0;
                char buffer[256];
 
@@ -135,30 +160,6 @@ nserror theme_install_callback(struct hlcache_handle 
*handle,
 }
 
 
-/**
- * Fill in theme_install_descriptor from received theme data.
- *
- * \param  source_data  received data
- * \param  source_size  size of data
- * \return  true if data is a correct theme, false on error
- *
- * If the data is a correct theme, theme_install_descriptor is filled in.
- */
-
-bool theme_install_read(const char *source_data, unsigned long source_size)
-{
-       const void *data = source_data;
-
-       if (source_size < sizeof(struct theme_file_header))
-               return false;
-       if (!ro_gui_theme_read_file_header(&theme_install_descriptor,
-                       (struct theme_file_header *) data))
-               return false;
-       if (source_size - sizeof(struct theme_file_header) !=
-                       theme_install_descriptor.compressed_size)
-               return false;
-       return true;
-}
 
 
 /**
@@ -174,8 +175,8 @@ bool ro_gui_theme_install_apply(wimp_w w)
        struct theme_descriptor *theme_install;
        os_error *error;
        char *fix;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
        assert(theme_install_content);
 
diff --git a/include/netsurf/content.h b/include/netsurf/content.h
index 5eee59a..d8adca0 100644
--- a/include/netsurf/content.h
+++ b/include/netsurf/content.h
@@ -94,7 +94,7 @@ lwc_string *content_get_mime_type(struct hlcache_handle *h);
  * \param size Pointer to location to receive byte size of source
  * \return Pointer to source data
  */
-const char *content_get_source_data(struct hlcache_handle *h, unsigned long 
*size);
+const uint8_t *content_get_source_data(struct hlcache_handle *h, size_t *size);
 
 
 /**


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=f966580d22d47ab97bceb2f067fc2b9402af01b7
commit f966580d22d47ab97bceb2f067fc2b9402af01b7
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    remove some warnings in amiga frontend build

diff --git a/frontends/amiga/history_local.c b/frontends/amiga/history_local.c
index 0ae9cc0..3529ec7 100644
--- a/frontends/amiga/history_local.c
+++ b/frontends/amiga/history_local.c
@@ -88,6 +88,15 @@ ami_history_local_destroy(struct ami_history_local_window 
*history_local_win)
        return res;
 }
 
+static void ami_history_local_destroy_cw(struct ami_corewindow *ami_cw)
+{
+       struct ami_history_local_window *history_local_win;
+       /* technically degenerate container of */
+       history_local_win = (struct ami_history_local_window *)ami_cw;
+
+       ami_history_local_destroy(history_local_win);
+}
+
 /**
  * callback for mouse action for local history on core window
  *
@@ -271,7 +280,7 @@ nserror ami_history_local_present(struct gui_window *gw)
        ncwin->core.draw = ami_history_local_draw;
        ncwin->core.key = ami_history_local_key;
        ncwin->core.mouse = ami_history_local_mouse;
-       ncwin->core.close = ami_history_local_destroy;
+       ncwin->core.close = ami_history_local_destroy_cw;
        ncwin->core.event = NULL;
        ncwin->core.drag_end = NULL;
        ncwin->core.icon_drop = NULL;
diff --git a/frontends/amiga/launch.c b/frontends/amiga/launch.c
index 10c32ae..a54b852 100755
--- a/frontends/amiga/launch.c
+++ b/frontends/amiga/launch.c
@@ -74,7 +74,7 @@ static void ami_openurl_free_list(struct MinList *list)
        struct ami_protocol *node;
        struct ami_protocol *nnode;
 
-       if(IsMinListEmpty(list) == NULL) {
+       if(IsMinListEmpty(list)) {
                node = (struct ami_protocol *)GetHead((struct List *)list);
 
                do
diff --git a/frontends/amiga/schedule.c b/frontends/amiga/schedule.c
index ee4e34a..da674f8 100644
--- a/frontends/amiga/schedule.c
+++ b/frontends/amiga/schedule.c
@@ -107,7 +107,8 @@ static nserror ami_schedule_add_timer_event(struct 
nscallback *nscb, int t)
  * A scheduled callback matching both callback and p is returned, or NULL if 
none present.
  */
 
-static struct nscallback *ami_schedule_locate(void (*callback)(void *p), void 
*p, bool remove)
+static struct nscallback *
+ami_schedule_locate(void (*callback)(void *p), void *p, bool remove)
 {
        PblIterator *iterator;
        struct nscallback *nscb;
@@ -119,7 +120,7 @@ static struct nscallback *ami_schedule_locate(void 
(*callback)(void *p), void *p
 
        iterator = pblHeapIterator(schedule_list);
 
-       while ((nscb = pblIteratorNext(iterator)) != -1) {
+       while ((nscb = pblIteratorNext(iterator)) != (void *)-1) {
                if ((nscb->callback == callback) && (nscb->p == p)) {
                        if (remove == true) pblIteratorRemove(iterator);
                        found_cb = true;
@@ -190,8 +191,7 @@ static void schedule_remove_all(void)
 
        iterator = pblHeapIterator(schedule_list);
 
-       while ((nscb = pblIteratorNext(iterator)) != -1)
-       {
+       while ((nscb = pblIteratorNext(iterator)) != (void *)-1) {
                ami_schedule_remove_timer_event(nscb);
                pblIteratorRemove(iterator);
 #ifdef __amigaos4__
@@ -226,18 +226,17 @@ static void ami_schedule_dump(void)
        GetSysTime(&tv);
        Amiga2Date(tv.Seconds, &clockdata);
        
-       NSLOG(netsurf, INFO, "Current time = %d-%d-%d %d:%d:%d.%d",
+       NSLOG(netsurf, INFO, "Current time = %d-%d-%d %d:%d:%d.%lu",
              clockdata.mday, clockdata.month, clockdata.year,
              clockdata.hour, clockdata.min, clockdata.sec, tv.Microseconds);
        NSLOG(netsurf, INFO, "Events remaining in queue:");
 
        iterator = pblHeapIterator(schedule_list);
 
-       while ((nscb = pblIteratorNext(iterator)) != -1)
-       {
+       while ((nscb = pblIteratorNext(iterator)) != (void *)-1) {
                Amiga2Date(nscb->tv.Seconds, &clockdata);
                NSLOG(netsurf, INFO,
-                     "nscb: %p, at %d-%d-%d %d:%d:%d.%d, callback: %p, %p",
+                     "nscb: %p, at %d-%d-%d %d:%d:%d.%lu, callback: %p, %p",
                      nscb, clockdata.mday, clockdata.month, clockdata.year,
                      clockdata.hour, clockdata.min, clockdata.sec,
                      nscb->tv.Microseconds, nscb->callback, nscb->p);
@@ -307,7 +306,10 @@ nserror ami_schedule_create(struct MsgPort *msgport)
        schedule_msgport = msgport;
 #endif
        schedule_list = pblHeapNew();
-       if(schedule_list == PBL_ERROR_OUT_OF_MEMORY) return NSERROR_NOMEM;
+
+       if (schedule_list == NULL) {
+               return NSERROR_NOMEM;
+       }
 
        pblHeapSetCompareFunction(schedule_list, ami_schedule_compare);
 
diff --git a/frontends/amiga/stringview/stringview.h 
b/frontends/amiga/stringview/stringview.h
index 776705f..ecb53e8 100755
--- a/frontends/amiga/stringview/stringview.h
+++ b/frontends/amiga/stringview/stringview.h
@@ -41,8 +41,8 @@ struct myStringClassData
        Object *                                WindowObject;
        Object *                                ListviewObject;
        struct List                             ListviewHeader;
-       uint32                                  ListviewCount;
-       uint32                                  ListviewSelected;
+       int32                                   ListviewCount;
+       int32                                   ListviewSelected;
        struct List *                   SearchHeader;
        STRPTR                                  SearchBuffer;
 };


-----------------------------------------------------------------------

Summary of changes:
 content/content.c                            |   14 ++----
 content/content_protected.h                  |    7 +--
 content/handlers/css/css.c                   |   13 +++---
 content/handlers/html/html.c                 |    6 +--
 content/handlers/html/html_script.c          |   12 ++---
 content/handlers/image/bmp.c                 |    4 +-
 content/handlers/image/gif.c                 |    4 +-
 content/handlers/image/ico.c                 |    4 +-
 content/handlers/image/jpeg.c                |   10 ++--
 content/handlers/image/nssprite.c            |    4 +-
 content/handlers/image/png.c                 |   10 ++--
 content/handlers/image/rsvg.c                |    6 +--
 content/handlers/image/svg.c                 |   17 +++----
 content/handlers/image/webp.c                |    8 ++--
 content/handlers/javascript/duktape/dukky.c  |   15 ++++--
 content/handlers/javascript/js.h             |    2 +-
 content/handlers/javascript/none/none.c      |    2 +-
 content/handlers/text/textplain.c            |    8 ++--
 desktop/save_complete.c                      |   65 +++++++++++++++-----------
 frontends/amiga/arexx.c                      |    8 ++--
 frontends/amiga/clipboard.c                  |   21 ++++++---
 frontends/amiga/dt_anim.c                    |    6 +--
 frontends/amiga/dt_picture.c                 |   12 ++---
 frontends/amiga/dt_sound.c                   |    6 +--
 frontends/amiga/file.c                       |   21 ++++++---
 frontends/amiga/history_local.c              |   11 ++++-
 frontends/amiga/iff_dr2d.c                   |   21 +++++----
 frontends/amiga/launch.c                     |    2 +-
 frontends/amiga/schedule.c                   |   20 ++++----
 frontends/amiga/stringview/stringview.h      |    4 +-
 frontends/gtk/viewsource.c                   |    9 ++--
 frontends/riscos/content-handlers/artworks.c |   32 ++++++-------
 frontends/riscos/content-handlers/draw.c     |    8 ++--
 frontends/riscos/content-handlers/sprite.c   |    7 +--
 frontends/riscos/gui.c                       |    4 +-
 frontends/riscos/save.c                      |    8 ++--
 frontends/riscos/theme_install.c             |   61 ++++++++++++------------
 include/netsurf/content.h                    |    2 +-
 38 files changed, 264 insertions(+), 210 deletions(-)

diff --git a/content/content.c b/content/content.c
index bb5c47b..3a56280 100644
--- a/content/content.c
+++ b/content/content.c
@@ -1239,27 +1239,21 @@ int content__get_available_width(struct content *c)
 
 
 /* exported interface documented in content/content.h */
-const char *content_get_source_data(hlcache_handle *h, unsigned long *size)
+const uint8_t *content_get_source_data(hlcache_handle *h, size_t *size)
 {
        return content__get_source_data(hlcache_handle_get_content(h), size);
 }
 
 /* exported interface documented in content/content_protected.h */
-const char *content__get_source_data(struct content *c, unsigned long *size)
+const uint8_t *content__get_source_data(struct content *c, size_t *size)
 {
-       const uint8_t *data;
-       size_t len;
-
        assert(size != NULL);
 
+       /** \todo check if the content check should be an assert */
        if (c == NULL)
                return NULL;
 
-       data = llcache_handle_get_source_data(c->llcache, &len);
-
-       *size = (unsigned long) len;
-
-       return (const char *) data;
+       return llcache_handle_get_source_data(c->llcache, size);
 }
 
 /* exported interface documented in content/content.h */
diff --git a/content/content_protected.h b/content/content_protected.h
index 99a05cf..0101790 100644
--- a/content/content_protected.h
+++ b/content/content_protected.h
@@ -17,8 +17,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-/** \file
- * Content handling (interface).
+/**
+ * \file
+ * Protected interface to Content handling.
  *
  * The content functions manipulate struct contents, which correspond to URLs.
  */
@@ -255,7 +256,7 @@ int content__get_available_width(struct content *c);
  * \param size Pointer to location to receive byte size of source.
  * \return Pointer to source data.
  */
-const char *content__get_source_data(struct content *c, unsigned long *size);
+const uint8_t *content__get_source_data(struct content *c, size_t *size);
 
 /**
  * Invalidate content reuse data.
diff --git a/content/handlers/css/css.c b/content/handlers/css/css.c
index dda044d..0dcbe99 100644
--- a/content/handlers/css/css.c
+++ b/content/handlers/css/css.c
@@ -80,8 +80,6 @@ typedef struct {
                                                 *   imports array */
 } nscss_import_ctx;
 
-static bool nscss_process_data(struct content *c, const char *data,
-               unsigned int size);
 static bool nscss_convert(struct content *c);
 static void nscss_destroy(struct content *c);
 static nserror nscss_clone(const struct content *old, struct content **newc);
@@ -245,7 +243,8 @@ static nserror nscss_create_css_data(struct 
content_css_data *c,
  * \param size  Number of bytes to process
  * \return true on success, false on failure
  */
-bool nscss_process_data(struct content *c, const char *data, unsigned int size)
+static bool
+nscss_process_data(struct content *c, const char *data, unsigned int size)
 {
        nscss_content *css = (nscss_content *) c;
        css_error error;
@@ -374,8 +373,8 @@ nserror nscss_clone(const struct content *old, struct 
content **newc)
 {
        const nscss_content *old_css = (const nscss_content *) old;
        nscss_content *new_css;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        nserror error;
 
        new_css = calloc(1, sizeof(nscss_content));
@@ -402,7 +401,9 @@ nserror nscss_clone(const struct content *old, struct 
content **newc)
 
        data = content__get_source_data(&new_css->base, &size);
        if (size > 0) {
-               if (nscss_process_data(&new_css->base, data, size) == false) {
+               if (nscss_process_data(&new_css->base,
+                                      (char *)data,
+                                      (unsigned int)size) == false) {
                        content_destroy(&new_css->base);
                        return NSERROR_CLONE_FAILED;
                }
diff --git a/content/handlers/html/html.c b/content/handlers/html/html.c
index 4ffdb39..a7fea6d 100644
--- a/content/handlers/html/html.c
+++ b/content/handlers/html/html.c
@@ -1114,8 +1114,8 @@ html_process_encoding_change(struct content *c,
        dom_hubbub_parser_params parse_params;
        dom_hubbub_error error;
        const char *encoding;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
        /* Retrieve new encoding */
        encoding = dom_hubbub_parser_get_encoding(html->parser,
@@ -1181,7 +1181,7 @@ html_process_encoding_change(struct content *c,
         * it cannot be changed again.
         */
        error = dom_hubbub_parser_parse_chunk(html->parser,
-                                             (const uint8_t *)source_data,
+                                             source_data,
                                              source_size);
 
        return libdom_hubbub_error_to_nserror(error);
diff --git a/content/handlers/html/html_script.c 
b/content/handlers/html/html_script.c
index 1affb76..203dc50 100644
--- a/content/handlers/html/html_script.c
+++ b/content/handlers/html/html_script.c
@@ -42,7 +42,7 @@
 #include "html/html.h"
 #include "html/html_internal.h"
 
-typedef bool (script_handler_t)(struct jscontext *jscontext, const char *data, 
size_t size, const char *name);
+typedef bool (script_handler_t)(struct jscontext *jscontext, const uint8_t 
*data, size_t size, const char *name);
 
 
 static script_handler_t *select_script_handler(content_type ctype)
@@ -90,8 +90,8 @@ nserror html_script_exec(html_content *c, bool allow_defer)
                        if (content_get_status(s->data.handle) ==
                                        CONTENT_STATUS_DONE) {
                                /* external script is now available */
-                               const char *data;
-                               unsigned long size;
+                               const uint8_t *data;
+                               size_t size;
                                data = content_get_source_data(
                                                s->data.handle, &size );
                                script_handler(c->jscontext, data, size,
@@ -305,8 +305,8 @@ convert_script_sync_cb(hlcache_handle *script,
                script_handler = 
select_script_handler(content_get_type(s->data.handle));
                if (script_handler != NULL && parent->jscontext != NULL) {
                        /* script has a handler */
-                       const char *data;
-                       unsigned long size;
+                       const uint8_t *data;
+                       size_t size;
                        data = content_get_source_data(s->data.handle, &size );
                        script_handler(parent->jscontext, data, size,
                                       
nsurl_access(hlcache_handle_get_url(s->data.handle)));
@@ -532,7 +532,7 @@ exec_inline_script(html_content *c, dom_node *node, 
dom_string *mimetype)
 
        if (script_handler != NULL) {
                script_handler(c->jscontext,
-                              dom_string_data(script),
+                              (const uint8_t *)dom_string_data(script),
                               dom_string_byte_length(script),
                               "?inline script?");
        }
diff --git a/content/handlers/image/bmp.c b/content/handlers/image/bmp.c
index 48a37fb..75d8880 100644
--- a/content/handlers/image/bmp.c
+++ b/content/handlers/image/bmp.c
@@ -122,8 +122,8 @@ static bool nsbmp_convert(struct content *c)
        nsbmp_content *bmp = (nsbmp_content *) c;
        bmp_result res;
        uint32_t swidth;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        char *title;
 
        /* set the bmp data */
diff --git a/content/handlers/image/gif.c b/content/handlers/image/gif.c
index 253265c..ee85a63 100644
--- a/content/handlers/image/gif.c
+++ b/content/handlers/image/gif.c
@@ -236,8 +236,8 @@ static bool nsgif_convert(struct content *c)
 {
        nsgif_content *gif = (nsgif_content *) c;
        int res;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        char *title;
 
        /* Get the animation */
diff --git a/content/handlers/image/ico.c b/content/handlers/image/ico.c
index 85aab9f..4675333 100644
--- a/content/handlers/image/ico.c
+++ b/content/handlers/image/ico.c
@@ -120,8 +120,8 @@ static bool nsico_convert(struct content *c)
        nsico_content *ico = (nsico_content *) c;
        struct bmp_image *bmp;
        bmp_result res;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        char *title;
 
        /* set the ico data */
diff --git a/content/handlers/image/jpeg.c b/content/handlers/image/jpeg.c
index e2f5f8f..52cdb22 100644
--- a/content/handlers/image/jpeg.c
+++ b/content/handlers/image/jpeg.c
@@ -168,8 +168,8 @@ static void nsjpeg_error_exit(j_common_ptr cinfo)
 static struct bitmap *
 jpeg_cache_convert(struct content *c)
 {
-       uint8_t *source_data; /* Jpeg source data */
-       unsigned long source_size; /* length of Jpeg source data */
+       const uint8_t *source_data; /* Jpeg source data */
+       size_t source_size; /* length of Jpeg source data */
        struct jpeg_decompress_struct cinfo;
        struct jpeg_error_mgr jerr;
        jmp_buf setjmp_buffer;
@@ -188,7 +188,7 @@ jpeg_cache_convert(struct content *c)
                nsjpeg_term_source };
 
        /* obtain jpeg source data and perfom minimal sanity checks */
-       source_data = (uint8_t *)content__get_source_data(c, &source_size);
+       source_data = content__get_source_data(c, &source_size);
 
        if ((source_data == NULL) ||
            (source_size < MIN_JPEG_SIZE)) {
@@ -315,8 +315,8 @@ static bool nsjpeg_convert(struct content *c)
                nsjpeg_skip_input_data, jpeg_resync_to_restart,
                nsjpeg_term_source };
        union content_msg_data msg_data;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        char *title;
 
        /* check image header is valid and get width/height */
diff --git a/content/handlers/image/nssprite.c 
b/content/handlers/image/nssprite.c
index 269c243..916bcbd 100644
--- a/content/handlers/image/nssprite.c
+++ b/content/handlers/image/nssprite.c
@@ -98,8 +98,8 @@ static bool nssprite_convert(struct content *c)
 
        struct rosprite_mem_context* ctx = NULL;
 
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
        char *title;
 
        data = content__get_source_data(c, &size);
diff --git a/content/handlers/image/png.c b/content/handlers/image/png.c
index 7a4ce30..841d5de 100644
--- a/content/handlers/image/png.c
+++ b/content/handlers/image/png.c
@@ -367,8 +367,8 @@ static bool nspng_process_data(struct content *c, const 
char *data,
 }
 
 struct png_cache_read_data_s {
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
 };
 
 /** PNG library read fucntion to read data from a memory array 
@@ -551,8 +551,8 @@ static nserror nspng_clone(const struct content *old_c, 
struct content **new_c)
 {
        nspng_content *clone_png_c;
        nserror error;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
 
        clone_png_c = calloc(1, sizeof(nspng_content));
        if (clone_png_c == NULL)
@@ -573,7 +573,7 @@ static nserror nspng_clone(const struct content *old_c, 
struct content **new_c)
 
        data = content__get_source_data(&clone_png_c->base, &size);
        if (size > 0) {
-               if (nspng_process_data(&clone_png_c->base, data, size) == 
false) {
+               if (nspng_process_data(&clone_png_c->base, (const char *)data, 
size) == false) {
                        content_destroy(&clone_png_c->base);
                        return NSERROR_NOMEM;
                }
diff --git a/content/handlers/image/rsvg.c b/content/handlers/image/rsvg.c
index 2ba1b49..ee73737 100644
--- a/content/handlers/image/rsvg.c
+++ b/content/handlers/image/rsvg.c
@@ -262,8 +262,8 @@ static nserror rsvg_clone(const struct content *old, struct 
content **newc)
 {
        rsvg_content *svg;
        nserror error;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
 
        svg = calloc(1, sizeof(rsvg_content));
        if (svg == NULL)
@@ -284,7 +284,7 @@ static nserror rsvg_clone(const struct content *old, struct 
content **newc)
 
        data = content__get_source_data(&svg->base, &size);
        if (size > 0) {
-               if (rsvg_process_data(&svg->base, data, size) == false) {
+               if (rsvg_process_data(&svg->base, (const char *)data, size) == 
false) {
                        content_destroy(&svg->base);
                        return NSERROR_NOMEM;
                }
diff --git a/content/handlers/image/svg.c b/content/handlers/image/svg.c
index 9972249..3f4e00c 100644
--- a/content/handlers/image/svg.c
+++ b/content/handlers/image/svg.c
@@ -126,8 +126,8 @@ static bool svg_convert(struct content *c)
 static void svg_reformat(struct content *c, int width, int height)
 {
        svg_content *svg = (svg_content *) c;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
        assert(svg->diagram);
 
@@ -135,9 +135,12 @@ static void svg_reformat(struct content *c, int width, int 
height)
        if (width != svg->current_width || height != svg->current_height) {
                source_data = content__get_source_data(c, &source_size);
 
-               svgtiny_parse(svg->diagram, source_data, source_size,
-                               nsurl_access(content_get_url(c)),
-                               width, height);
+               svgtiny_parse(svg->diagram,
+                             (const char *)source_data,
+                             source_size,
+                             nsurl_access(content_get_url(c)),
+                             width,
+                             height);
 
                svg->current_width = width;
                svg->current_height = height;
@@ -222,7 +225,7 @@ svg_redraw_internal(struct content *c,
                                return false;
                        }
                }
-        }
+       }
 
 #undef BGR
 
@@ -361,5 +364,3 @@ static const char *svg_types[] = {
 
 
 CONTENT_FACTORY_REGISTER_TYPES(svg, svg_types, svg_content_handler);
-
-
diff --git a/content/handlers/image/webp.c b/content/handlers/image/webp.c
index 66a86c9..cbcb5ce 100644
--- a/content/handlers/image/webp.c
+++ b/content/handlers/image/webp.c
@@ -88,7 +88,7 @@ static struct bitmap *
 webp_cache_convert(struct content *c)
 {
        const uint8_t *source_data; /* webp source data */
-       unsigned long source_size; /* length of webp source data */
+       size_t source_size; /* length of webp source data */
        VP8StatusCode webpres;
        WebPBitstreamFeatures webpfeatures;
        unsigned int bmap_flags;
@@ -97,7 +97,7 @@ webp_cache_convert(struct content *c)
        size_t rowstride;
        struct bitmap *bitmap = NULL;
 
-       source_data = (uint8_t *)content__get_source_data(c, &source_size);
+       source_data = content__get_source_data(c, &source_size);
 
        webpres = WebPGetFeatures(source_data, source_size, &webpfeatures);
 
@@ -156,12 +156,12 @@ webp_cache_convert(struct content *c)
 static bool webp_convert(struct content *c)
 {
        int res;
-       unsigned long data_size;
        const uint8_t* data;
+       size_t data_size;
        int width;
        int height;
 
-       data = (uint8_t *)content__get_source_data(c, &data_size);
+       data = content__get_source_data(c, &data_size);
 
        res = WebPGetInfo(data, data_size, &width, &height);
        if (res == 0) {
diff --git a/content/handlers/javascript/duktape/dukky.c 
b/content/handlers/javascript/duktape/dukky.c
index d1bd4ec..e9e579d 100644
--- a/content/handlers/javascript/duktape/dukky.c
+++ b/content/handlers/javascript/duktape/dukky.c
@@ -761,10 +761,16 @@ void dukky_push_generics(duk_context *ctx, const char 
*generic)
        /* ..., generic */
 }
 
-bool js_exec(jscontext *ctx, const char *txt, size_t txtlen, const char *name)
+/* exported interface documented in js.h */
+bool
+js_exec(jscontext *ctx, const uint8_t *txt, size_t txtlen, const char *name)
 {
        assert(ctx);
-       if (txt == NULL || txtlen == 0) return false;
+
+       if (txt == NULL || txtlen == 0) {
+               return false;
+       }
+
        duk_set_top(CTX, 0);
        NSLOG(dukky, DEEPDEBUG, "Running %"PRIsizet" bytes from %s", txtlen, 
name);
        /* NSLOG(dukky, DEEPDEBUG, "\n%s\n", txt); */
@@ -775,7 +781,10 @@ bool js_exec(jscontext *ctx, const char *txt, size_t 
txtlen, const char *name)
        } else {
                duk_push_string(CTX, "?unknown source?");
        }
-       if (duk_pcompile_lstring_filename(CTX, DUK_COMPILE_EVAL, txt, txtlen) 
!= 0) {
+       if (duk_pcompile_lstring_filename(CTX,
+                                         DUK_COMPILE_EVAL,
+                                         (const char *)txt,
+                                         txtlen) != 0) {
                NSLOG(dukky, INFO, "Failed to compile JavaScript input");
                goto handle_error;
        }
diff --git a/content/handlers/javascript/js.h b/content/handlers/javascript/js.h
index 89a87af..31ab8f7 100644
--- a/content/handlers/javascript/js.h
+++ b/content/handlers/javascript/js.h
@@ -67,7 +67,7 @@ void js_destroycontext(jscontext *ctx);
 jsobject *js_newcompartment(jscontext *ctx, void *win_priv, void *doc_priv);
 
 /* execute some javascript in a context */
-bool js_exec(jscontext *ctx, const char *txt, size_t txtlen, const char *name);
+bool js_exec(jscontext *ctx, const uint8_t *txt, size_t txtlen, const char 
*name);
 
 
 /* fire an event at a dom node */
diff --git a/content/handlers/javascript/none/none.c 
b/content/handlers/javascript/none/none.c
index e1c992e..80a9ce4 100644
--- a/content/handlers/javascript/none/none.c
+++ b/content/handlers/javascript/none/none.c
@@ -51,7 +51,7 @@ jsobject *js_newcompartment(jscontext *ctx, void *win_priv, 
void *doc_priv)
        return NULL;
 }
 
-bool js_exec(jscontext *ctx, const char *txt, size_t txtlen, const char *name)
+bool js_exec(jscontext *ctx, const uint8_t *txt, size_t txtlen, const char 
*name)
 {
        return true;
 }
diff --git a/content/handlers/text/textplain.c 
b/content/handlers/text/textplain.c
index 692ba7e..9e9e3e9 100644
--- a/content/handlers/text/textplain.c
+++ b/content/handlers/text/textplain.c
@@ -554,8 +554,8 @@ static nserror textplain_clone(const struct content *old, 
struct content **newc)
        const textplain_content *old_text = (textplain_content *) old;
        textplain_content *text;
        nserror error;
-       const char *data;
-       unsigned long size;
+       const uint8_t *data;
+       size_t size;
 
        text = calloc(1, sizeof(textplain_content));
        if (text == NULL)
@@ -576,7 +576,9 @@ static nserror textplain_clone(const struct content *old, 
struct content **newc)
 
        data = content__get_source_data(&text->base, &size);
        if (size > 0) {
-               if (textplain_process_data(&text->base, data, size) == false) {
+               if (textplain_process_data(&text->base,
+                                          (const char *)data,
+                                          size) == false) {
                        content_destroy(&text->base);
                        return NSERROR_NOMEM;
                }
diff --git a/desktop/save_complete.c b/desktop/save_complete.c
index ef794d4..c6f311a 100644
--- a/desktop/save_complete.c
+++ b/desktop/save_complete.c
@@ -152,9 +152,12 @@ static bool 
save_complete_ctx_has_content(save_complete_ctx *ctx,
        return false;
 }
 
-static bool save_complete_save_buffer(save_complete_ctx *ctx,
-               const char *leafname, const char *data, size_t data_len,
-               lwc_string *mime_type)
+static bool
+save_complete_save_buffer(save_complete_ctx *ctx,
+                         const char *leafname,
+                         const uint8_t *data,
+                         size_t data_len,
+                         lwc_string *mime_type)
 {
        nserror ret;
        FILE *fp;
@@ -196,14 +199,14 @@ static bool save_complete_save_buffer(save_complete_ctx 
*ctx,
  * \param osize updated with the size of the result.
  * \return converted source, or NULL on out of memory.
  */
-static char *
+static uint8_t *
 save_complete_rewrite_stylesheet_urls(save_complete_ctx *ctx,
-                                     const char *source,
-                                     unsigned long size,
+                                     const uint8_t *source,
+                                     size_t size,
                                      const nsurl *base,
-                                     unsigned long *osize)
+                                     size_t *osize)
 {
-       char *rewritten;
+       uint8_t *rewritten;
        unsigned long offset = 0;
        unsigned int imports = 0;
        nserror error;
@@ -231,13 +234,16 @@ save_complete_rewrite_stylesheet_urls(save_complete_ctx 
*ctx,
 
        offset = 0;
        while (offset < size) {
-               const char *import_url = NULL;
+               const uint8_t *import_url = NULL;
                char *import_url_copy;
                int import_url_len = 0;
                nsurl *url = NULL;
                regmatch_t match[11];
-               int m = regexec(&save_complete_import_re, source + offset,
-                               11, match, 0);
+               int m = regexec(&save_complete_import_re,
+                               (const char *)source + offset,
+                               11,
+                               match,
+                               0);
                if (m)
                        break;
 
@@ -259,7 +265,8 @@ save_complete_rewrite_stylesheet_urls(save_complete_ctx 
*ctx,
                }
                assert(import_url != NULL);
 
-               import_url_copy = strndup(import_url, import_url_len);
+               import_url_copy = strndup((const char *)import_url,
+                                         import_url_len);
                if (import_url_copy == NULL) {
                        free(rewritten);
                        return NULL;
@@ -315,13 +322,13 @@ save_complete_rewrite_stylesheet_urls(save_complete_ctx 
*ctx,
        return rewritten;
 }
 
-static bool save_complete_save_stylesheet(save_complete_ctx *ctx,
-               hlcache_handle *css)
+static bool
+save_complete_save_stylesheet(save_complete_ctx *ctx, hlcache_handle *css)
 {
-       const char *css_data;
-       unsigned long css_size;
-       char *source;
-       unsigned long source_len;
+       const uint8_t *css_data;
+       size_t css_size;
+       uint8_t *source;
+       size_t source_len;
        struct nscss_import *imports;
        uint32_t import_count;
        lwc_string *type;
@@ -342,8 +349,12 @@ static bool 
save_complete_save_stylesheet(save_complete_ctx *ctx,
                return false;
 
        css_data = content_get_source_data(css, &css_size);
-       source = save_complete_rewrite_stylesheet_urls(ctx, css_data, css_size,
-                       hlcache_handle_get_url(css), &source_len);
+       source = save_complete_rewrite_stylesheet_urls(
+               ctx,
+               css_data,
+               css_size,
+               hlcache_handle_get_url(css),
+               &source_len);
        if (source == NULL) {
                guit->misc->warning("NoMemory", 0);
                return false;
@@ -408,11 +419,11 @@ static bool 
save_complete_save_html_stylesheets(save_complete_ctx *ctx,
        return true;
 }
 
-static bool save_complete_save_html_object(save_complete_ctx *ctx,
-               hlcache_handle *obj)
+static bool
+save_complete_save_html_object(save_complete_ctx *ctx, hlcache_handle *obj)
 {
-       const char *obj_data;
-       unsigned long obj_size;
+       const uint8_t *obj_data;
+       size_t obj_size;
        lwc_string *type;
        bool result;
        char filename[32];
@@ -898,13 +909,13 @@ static bool 
save_complete_handle_element(save_complete_ctx *ctx,
                }
 
                if (content != NULL) {
-                       char *rewritten;
-                       unsigned long len;
+                       uint8_t *rewritten;
+                       size_t len;
 
                        /* Rewrite @import rules */
                        rewritten = save_complete_rewrite_stylesheet_urls(
                                        ctx,
-                                       dom_string_data(content),
+                                       (const uint8_t 
*)dom_string_data(content),
                                        dom_string_byte_length(content),
                                        ctx->base,
                                        &len);
diff --git a/frontends/amiga/arexx.c b/frontends/amiga/arexx.c
index acb0348..5be8a4f 100644
--- a/frontends/amiga/arexx.c
+++ b/frontends/amiga/arexx.c
@@ -346,8 +346,6 @@ RXHOOKF(rx_open)
 RXHOOKF(rx_save)
 {
        BPTR fh = 0;
-       ULONG source_size;
-       const char *source_data;
        struct gui_window *gw = cur_gw;
 
        cmd->ac_RC = 0;
@@ -361,9 +359,13 @@ RXHOOKF(rx_save)
                                        
        if((fh = FOpen((char *)cmd->ac_ArgList[0], MODE_NEWFILE, 0)))
        {
+               const uint8_t *source_data;
+               size_t source_size;
                struct hlcache_handle *h = browser_window_get_content(gw->bw);
-               if((source_data = content_get_source_data(h, &source_size)))
+               source_data = content_get_source_data(h, &source_size);
+               if (source_data != NULL) {
                        FWrite(fh, source_data, 1, source_size);
+               }
 
                FClose(fh);
                SetComment((char *)cmd->ac_ArgList[0], 
nsurl_access(browser_window_access_url(gw->bw)));
diff --git a/frontends/amiga/clipboard.c b/frontends/amiga/clipboard.c
index 27b8015..79dda39 100644
--- a/frontends/amiga/clipboard.c
+++ b/frontends/amiga/clipboard.c
@@ -349,15 +349,22 @@ bool ami_easy_clipboard_bitmap(struct bitmap *bitmap)
 #ifdef WITH_NS_SVG
 bool ami_easy_clipboard_svg(struct hlcache_handle *c)
 {
-       const char *source_data;
-       ULONG source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
-       if(ami_mime_compare(c, "svg") == false) return false;
-       if((source_data = content_get_source_data(c, &source_size)) == NULL) 
return false;
+       if (ami_mime_compare(c, "svg") == false) {
+               return false;
+       }
+       source_data = content_get_source_data(c, &source_size);
+       if (source_data == NULL) {
+               return false;
+       }
 
-       if(!(OpenIFF(iffh,IFFF_WRITE)))
-       {
-               ami_svg_to_dr2d(iffh, source_data, source_size, 
nsurl_access(hlcache_handle_get_url(c)));
+       if (!(OpenIFF(iffh,IFFF_WRITE))) {
+               ami_svg_to_dr2d(iffh,
+                               (const char *)source_data,
+                               source_size,
+                               nsurl_access(hlcache_handle_get_url(c)));
                CloseIFF(iffh);
        }
 
diff --git a/frontends/amiga/dt_anim.c b/frontends/amiga/dt_anim.c
index bd04920..8d7e895 100644
--- a/frontends/amiga/dt_anim.c
+++ b/frontends/amiga/dt_anim.c
@@ -167,15 +167,15 @@ bool amiga_dt_anim_convert(struct content *c)
        amiga_dt_anim_content *plugin = (amiga_dt_anim_content *) c;
        union content_msg_data msg_data;
        int width, height;
-       const uint8 *data;
+       const uint8_t *data;
+       size_t size;
        UBYTE *bm_buffer;
-       ULONG size;
        struct BitMapHeader *bmh;
        unsigned int bm_flags = BITMAP_NEW | BITMAP_OPAQUE;
        struct adtFrame adt_frame;
        APTR clut;
 
-       data = (uint8 *)content__get_source_data(c, &size);
+       data = content__get_source_data(c, &size);
 
        if((plugin->dto = NewDTObject(NULL,
                                        DTA_SourceType, DTST_MEMORY,
diff --git a/frontends/amiga/dt_picture.c b/frontends/amiga/dt_picture.c
index 88ce1c8..660b237 100644
--- a/frontends/amiga/dt_picture.c
+++ b/frontends/amiga/dt_picture.c
@@ -131,11 +131,11 @@ nserror amiga_dt_picture_create(const content_handler 
*handler,
 
 static Object *amiga_dt_picture_newdtobject(struct amiga_dt_picture_content 
*adt)
 {
-       const uint8 *data;
-       ULONG size;
+       const uint8_t *data;
+       size_t size;
 
        if(adt->dto == NULL) {
-               data = (uint8 *)content__get_source_data((struct content *)adt, 
&size);
+               data = content__get_source_data((struct content *)adt, &size);
 
                adt->dto = NewDTObject(NULL,
                                        DTA_SourceType, DTST_MEMORY,
@@ -152,12 +152,12 @@ static Object *amiga_dt_picture_newdtobject(struct 
amiga_dt_picture_content *adt
 
 static char *amiga_dt_picture_datatype(struct content *c)
 {
-       const uint8 *data;
-       ULONG size;
+       const uint8_t *data;
+       size_t size;
        struct DataType *dt;
        char *filetype = NULL;
        
-       data = (uint8 *)content__get_source_data(c, &size);
+       data = content__get_source_data(c, &size);
 
        if((dt = ObtainDataType(DTST_MEMORY, NULL,
                                        DTA_SourceAddress, data,
diff --git a/frontends/amiga/dt_sound.c b/frontends/amiga/dt_sound.c
index f3b365d..e0a794f 100644
--- a/frontends/amiga/dt_sound.c
+++ b/frontends/amiga/dt_sound.c
@@ -150,10 +150,10 @@ bool amiga_dt_sound_convert(struct content *c)
 
        amiga_dt_sound_content *plugin = (amiga_dt_sound_content *) c;
        int width = 50, height = 50;
-       const uint8 *data;
-       ULONG size;
+       const uint8_t *data;
+       size_t size;
 
-       data = (uint8 *)content__get_source_data(c, &size);
+       data = content__get_source_data(c, &size);
 
        plugin->dto = NewDTObject(NULL,
                                        DTA_SourceType, DTST_MEMORY,
diff --git a/frontends/amiga/file.c b/frontends/amiga/file.c
index 0fd4378..845491c 100644
--- a/frontends/amiga/file.c
+++ b/frontends/amiga/file.c
@@ -146,8 +146,9 @@ void ami_file_save(int type, char *fname, struct Window 
*win,
                struct browser_window *bw)
 {
        BPTR lock, fh;
-       const char *source_data;
-       ULONG source_size;
+       const uint8_t *source_data;
+       char *selection;
+       size_t source_size;
        struct bitmap *bm;
 
        ami_update_pointer(win, GUI_POINTER_WAIT);
@@ -155,7 +156,8 @@ void ami_file_save(int type, char *fname, struct Window 
*win,
        if(ami_download_check_overwrite(fname, win, 0)) {
                switch(type) {
                        case AMINS_SAVE_SOURCE:
-                               if((source_data = 
content_get_source_data(object, &source_size))) {
+                               source_data = content_get_source_data(object, 
&source_size);
+                               if(source_data) {
                                        BPTR fh;
                                        if((fh = FOpen(fname, MODE_NEWFILE,0))) 
{
                                                FWrite(fh, source_data, 1, 
source_size);
@@ -197,12 +199,17 @@ void ami_file_save(int type, char *fname, struct Window 
*win,
                        break;
 
                        case AMINS_SAVE_SELECTION:
-                               if((source_data = 
browser_window_get_selection(bw))) {
-                                       if((fh = FOpen(fname, MODE_NEWFILE,0))) 
{
-                                               FWrite(fh, source_data, 1, 
strlen(source_data));
+                               selection = browser_window_get_selection(bw);
+                               if(selection) {
+                                       fh = FOpen(fname, MODE_NEWFILE,0);
+                                       if (fh) {
+                                               FWrite(fh,
+                                                      selection,
+                                                      1,
+                                                      strlen(selection));
                                                FClose(fh);
                                        }
-                                       free((void *)source_data);
+                                       free(selection);
                                }
                        break;
                }
diff --git a/frontends/amiga/history_local.c b/frontends/amiga/history_local.c
index 0ae9cc0..3529ec7 100644
--- a/frontends/amiga/history_local.c
+++ b/frontends/amiga/history_local.c
@@ -88,6 +88,15 @@ ami_history_local_destroy(struct ami_history_local_window 
*history_local_win)
        return res;
 }
 
+static void ami_history_local_destroy_cw(struct ami_corewindow *ami_cw)
+{
+       struct ami_history_local_window *history_local_win;
+       /* technically degenerate container of */
+       history_local_win = (struct ami_history_local_window *)ami_cw;
+
+       ami_history_local_destroy(history_local_win);
+}
+
 /**
  * callback for mouse action for local history on core window
  *
@@ -271,7 +280,7 @@ nserror ami_history_local_present(struct gui_window *gw)
        ncwin->core.draw = ami_history_local_draw;
        ncwin->core.key = ami_history_local_key;
        ncwin->core.mouse = ami_history_local_mouse;
-       ncwin->core.close = ami_history_local_destroy;
+       ncwin->core.close = ami_history_local_destroy_cw;
        ncwin->core.event = NULL;
        ncwin->core.drag_end = NULL;
        ncwin->core.icon_drop = NULL;
diff --git a/frontends/amiga/iff_dr2d.c b/frontends/amiga/iff_dr2d.c
index a4c5855..5de1463 100644
--- a/frontends/amiga/iff_dr2d.c
+++ b/frontends/amiga/iff_dr2d.c
@@ -310,22 +310,27 @@ bool ami_svg_to_dr2d(struct IFFHandle *iffh, const char 
*buffer,
 bool ami_save_svg(struct hlcache_handle *c,char *filename)
 {
        struct IFFHandle *iffh;
-       const char *source_data;
-       ULONG source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
-       if(!ami_download_check_overwrite(filename, NULL, 0)) return false;
+       if (!ami_download_check_overwrite(filename, NULL, 0)) return false;
 
-       if((iffh = AllocIFF())) {
-               if((iffh->iff_Stream = Open(filename,MODE_NEWFILE))) {
+       if ((iffh = AllocIFF())) {
+               if ((iffh->iff_Stream = Open(filename,MODE_NEWFILE))) {
                        InitIFFasDOS(iffh);
                }
                else return false;
        }
 
-       if((OpenIFF(iffh,IFFF_WRITE))) return false;
+       if ((OpenIFF(iffh,IFFF_WRITE))) return false;
 
-       if((source_data = content_get_source_data(c, &source_size)))
-               ami_svg_to_dr2d(iffh, source_data, source_size, 
nsurl_access(hlcache_handle_get_url(c)));
+       source_data = content_get_source_data(c, &source_size);
+       if (source_data != NULL) {
+               ami_svg_to_dr2d(iffh,
+                               (const char *)source_data,
+                               source_size,
+                               nsurl_access(hlcache_handle_get_url(c)));
+       }
 
        if(iffh) CloseIFF(iffh);
        if(iffh->iff_Stream) Close((BPTR)iffh->iff_Stream);
diff --git a/frontends/amiga/launch.c b/frontends/amiga/launch.c
index 10c32ae..a54b852 100755
--- a/frontends/amiga/launch.c
+++ b/frontends/amiga/launch.c
@@ -74,7 +74,7 @@ static void ami_openurl_free_list(struct MinList *list)
        struct ami_protocol *node;
        struct ami_protocol *nnode;
 
-       if(IsMinListEmpty(list) == NULL) {
+       if(IsMinListEmpty(list)) {
                node = (struct ami_protocol *)GetHead((struct List *)list);
 
                do
diff --git a/frontends/amiga/schedule.c b/frontends/amiga/schedule.c
index ee4e34a..da674f8 100644
--- a/frontends/amiga/schedule.c
+++ b/frontends/amiga/schedule.c
@@ -107,7 +107,8 @@ static nserror ami_schedule_add_timer_event(struct 
nscallback *nscb, int t)
  * A scheduled callback matching both callback and p is returned, or NULL if 
none present.
  */
 
-static struct nscallback *ami_schedule_locate(void (*callback)(void *p), void 
*p, bool remove)
+static struct nscallback *
+ami_schedule_locate(void (*callback)(void *p), void *p, bool remove)
 {
        PblIterator *iterator;
        struct nscallback *nscb;
@@ -119,7 +120,7 @@ static struct nscallback *ami_schedule_locate(void 
(*callback)(void *p), void *p
 
        iterator = pblHeapIterator(schedule_list);
 
-       while ((nscb = pblIteratorNext(iterator)) != -1) {
+       while ((nscb = pblIteratorNext(iterator)) != (void *)-1) {
                if ((nscb->callback == callback) && (nscb->p == p)) {
                        if (remove == true) pblIteratorRemove(iterator);
                        found_cb = true;
@@ -190,8 +191,7 @@ static void schedule_remove_all(void)
 
        iterator = pblHeapIterator(schedule_list);
 
-       while ((nscb = pblIteratorNext(iterator)) != -1)
-       {
+       while ((nscb = pblIteratorNext(iterator)) != (void *)-1) {
                ami_schedule_remove_timer_event(nscb);
                pblIteratorRemove(iterator);
 #ifdef __amigaos4__
@@ -226,18 +226,17 @@ static void ami_schedule_dump(void)
        GetSysTime(&tv);
        Amiga2Date(tv.Seconds, &clockdata);
        
-       NSLOG(netsurf, INFO, "Current time = %d-%d-%d %d:%d:%d.%d",
+       NSLOG(netsurf, INFO, "Current time = %d-%d-%d %d:%d:%d.%lu",
              clockdata.mday, clockdata.month, clockdata.year,
              clockdata.hour, clockdata.min, clockdata.sec, tv.Microseconds);
        NSLOG(netsurf, INFO, "Events remaining in queue:");
 
        iterator = pblHeapIterator(schedule_list);
 
-       while ((nscb = pblIteratorNext(iterator)) != -1)
-       {
+       while ((nscb = pblIteratorNext(iterator)) != (void *)-1) {
                Amiga2Date(nscb->tv.Seconds, &clockdata);
                NSLOG(netsurf, INFO,
-                     "nscb: %p, at %d-%d-%d %d:%d:%d.%d, callback: %p, %p",
+                     "nscb: %p, at %d-%d-%d %d:%d:%d.%lu, callback: %p, %p",
                      nscb, clockdata.mday, clockdata.month, clockdata.year,
                      clockdata.hour, clockdata.min, clockdata.sec,
                      nscb->tv.Microseconds, nscb->callback, nscb->p);
@@ -307,7 +306,10 @@ nserror ami_schedule_create(struct MsgPort *msgport)
        schedule_msgport = msgport;
 #endif
        schedule_list = pblHeapNew();
-       if(schedule_list == PBL_ERROR_OUT_OF_MEMORY) return NSERROR_NOMEM;
+
+       if (schedule_list == NULL) {
+               return NSERROR_NOMEM;
+       }
 
        pblHeapSetCompareFunction(schedule_list, ami_schedule_compare);
 
diff --git a/frontends/amiga/stringview/stringview.h 
b/frontends/amiga/stringview/stringview.h
index 776705f..ecb53e8 100755
--- a/frontends/amiga/stringview/stringview.h
+++ b/frontends/amiga/stringview/stringview.h
@@ -41,8 +41,8 @@ struct myStringClassData
        Object *                                WindowObject;
        Object *                                ListviewObject;
        struct List                             ListviewHeader;
-       uint32                                  ListviewCount;
-       uint32                                  ListviewSelected;
+       int32                                   ListviewCount;
+       int32                                   ListviewSelected;
        struct List *                   SearchHeader;
        STRPTR                                  SearchBuffer;
 };
diff --git a/frontends/gtk/viewsource.c b/frontends/gtk/viewsource.c
index 87ff697..7c11862 100644
--- a/frontends/gtk/viewsource.c
+++ b/frontends/gtk/viewsource.c
@@ -34,8 +34,8 @@ nserror nsgtk_viewsource(GtkWindow *parent, struct 
browser_window *bw)
 {
        nserror ret;
        struct hlcache_handle *hlcontent;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        char *ndata = NULL;
        size_t ndata_len;
        char *filename;
@@ -67,8 +67,9 @@ nserror nsgtk_viewsource(GtkWindow *parent, struct 
browser_window *bw)
        }
        sprintf(title, "Source of %s - NetSurf", 
nsurl_access(browser_window_access_url(bw)));
 
-       ret = utf8_from_enc(source_data,
-                           content_get_encoding(hlcontent, 
CONTENT_ENCODING_NORMAL),
+       ret = utf8_from_enc((const char *)source_data,
+                           content_get_encoding(hlcontent,
+                                                CONTENT_ENCODING_NORMAL),
                            source_size,
                            &ndata,
                            &ndata_len);
diff --git a/frontends/riscos/content-handlers/artworks.c 
b/frontends/riscos/content-handlers/artworks.c
index 8ec4edc..fcae271 100644
--- a/frontends/riscos/content-handlers/artworks.c
+++ b/frontends/riscos/content-handlers/artworks.c
@@ -170,8 +170,8 @@ bool artworks_convert(struct content *c)
 {
        artworks_content *aw = (artworks_content *) c;
        union content_msg_data msg_data;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        void *init_workspace;
        void *init_routine;
        os_error *error;
@@ -224,7 +224,7 @@ bool artworks_convert(struct content *c)
        source_data = content__get_source_data(c, &source_size);
 
        /* initialise (convert file to new format if required) */
-       error = awrender_init(&source_data, &source_size,
+       error = awrender_init((const char **)&source_data, &source_size,
                        init_routine, init_workspace);
        if (error) {
                NSLOG(netsurf, INFO, "awrender_init: 0x%x : %s",
@@ -313,8 +313,8 @@ bool artworks_redraw(struct content *c, struct 
content_redraw_data *data,
        };
        artworks_content *aw = (artworks_content *) c;
        struct awinfo_block info;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        os_error *error;
        os_trfm matrix;
        int vals[24];
@@ -389,17 +389,17 @@ bool artworks_redraw(struct content *c, struct 
content_redraw_data *data,
 
        source_data = content__get_source_data(c, &source_size);
 
-       error = awrender_render(source_data,
-                       &info,
-                       &matrix,
-                       vals,
-                       &aw->block,
-                       &aw->size,
-                       110,    /* fully anti-aliased */
-                       0,
-                       source_size,
-                       aw->render_routine,
-                       aw->render_workspace);
+       error = awrender_render((const char *)source_data,
+                               &info,
+                               &matrix,
+                               vals,
+                               &aw->block,
+                               &aw->size,
+                               110,    /* fully anti-aliased */
+                               0,
+                               source_size,
+                               aw->render_routine,
+                               aw->render_workspace);
 
        if (error) {
                NSLOG(netsurf, INFO, "awrender_render: 0x%x: %s",
diff --git a/frontends/riscos/content-handlers/draw.c 
b/frontends/riscos/content-handlers/draw.c
index bb66f9d..a436cce 100644
--- a/frontends/riscos/content-handlers/draw.c
+++ b/frontends/riscos/content-handlers/draw.c
@@ -112,8 +112,8 @@ bool draw_convert(struct content *c)
 {
        draw_content *draw = (draw_content *) c;
        union content_msg_data msg_data;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        const void *data;
        os_box bbox;
        os_error *error;
@@ -180,8 +180,8 @@ bool draw_redraw(struct content *c, struct 
content_redraw_data *data,
 {
        draw_content *draw = (draw_content *) c;
        os_trfm matrix;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        const void *src_data;
        os_error *error;
 
diff --git a/frontends/riscos/content-handlers/sprite.c 
b/frontends/riscos/content-handlers/sprite.c
index 3556aa5..650d8e9 100644
--- a/frontends/riscos/content-handlers/sprite.c
+++ b/frontends/riscos/content-handlers/sprite.c
@@ -16,7 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-/** \file
+/**
+ * \file
  * Content for image/x-riscos-sprite (RISC OS implementation).
  *
  * No conversion is necessary: we can render RISC OS sprites directly under
@@ -112,8 +113,8 @@ bool sprite_convert(struct content *c)
        os_error *error;
        int w, h;
        union content_msg_data msg_data;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
        const void *sprite_data;
        char *title;
 
diff --git a/frontends/riscos/gui.c b/frontends/riscos/gui.c
index be1bc8d..93bad16 100644
--- a/frontends/riscos/gui.c
+++ b/frontends/riscos/gui.c
@@ -1980,8 +1980,8 @@ void ro_gui_view_source(struct hlcache_handle *c)
        int objtype;
        bool done = false;
 
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
        if (!c) {
                ro_warn_user("MiscError", "No document source");
diff --git a/frontends/riscos/save.c b/frontends/riscos/save.c
index 76ce6d3..8679760 100644
--- a/frontends/riscos/save.c
+++ b/frontends/riscos/save.c
@@ -908,8 +908,8 @@ static bool ro_gui_save_object_native(struct hlcache_handle 
*h, char *path)
 
        if (file_type == osfile_TYPE_SPRITE || file_type == osfile_TYPE_DRAW) {
                /* Native sprite or drawfile */
-               const char *source_data;
-               unsigned long source_size;
+               const uint8_t *source_data;
+               size_t source_size;
                os_error *error;
 
                source_data = content_get_source_data(h, &source_size);
@@ -960,8 +960,8 @@ static bool
 ro_gui_save_content(struct hlcache_handle *h, char *path, bool force_overwrite)
 {
        os_error *error;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
        /* does the user want to check for collisions when saving? */
        if (!force_overwrite) {
diff --git a/frontends/riscos/theme_install.c b/frontends/riscos/theme_install.c
index fbca9e4..a235fe4 100644
--- a/frontends/riscos/theme_install.c
+++ b/frontends/riscos/theme_install.c
@@ -47,8 +47,6 @@ wimp_w dialog_theme_install;
 static void theme_install_close(wimp_w w);
 static nserror theme_install_callback(struct hlcache_handle *handle,
                const hlcache_event *event, void *pw);
-static bool theme_install_read(const char *source_data, 
-               unsigned long source_size);
 
 
 /**
@@ -80,6 +78,33 @@ void theme_install_start(struct hlcache_handle *c)
 
 
 /**
+ * Fill in theme_install_descriptor from received theme data.
+ *
+ * \param  source_data  received data
+ * \param  source_size  size of data
+ * \return  true if data is a correct theme, false on error
+ *
+ * If the data is a correct theme, theme_install_descriptor is filled in.
+ */
+
+static bool
+theme_install_read(const uint8_t *source_data, size_t source_size)
+{
+       const void *data = source_data;
+
+       if (source_size < sizeof(struct theme_file_header))
+               return false;
+       if (!ro_gui_theme_read_file_header(&theme_install_descriptor,
+                       (struct theme_file_header *) data))
+               return false;
+       if (source_size - sizeof(struct theme_file_header) !=
+                       theme_install_descriptor.compressed_size)
+               return false;
+       return true;
+}
+
+
+/**
  * Callback for fetchcache() for theme install fetches.
  */
 
@@ -90,8 +115,8 @@ nserror theme_install_callback(struct hlcache_handle *handle,
 
        case CONTENT_MSG_DONE:
        {
-               const char *source_data;
-               unsigned long source_size;
+               const uint8_t *source_data;
+               size_t source_size;
                int author_indent = 0;
                char buffer[256];
 
@@ -135,30 +160,6 @@ nserror theme_install_callback(struct hlcache_handle 
*handle,
 }
 
 
-/**
- * Fill in theme_install_descriptor from received theme data.
- *
- * \param  source_data  received data
- * \param  source_size  size of data
- * \return  true if data is a correct theme, false on error
- *
- * If the data is a correct theme, theme_install_descriptor is filled in.
- */
-
-bool theme_install_read(const char *source_data, unsigned long source_size)
-{
-       const void *data = source_data;
-
-       if (source_size < sizeof(struct theme_file_header))
-               return false;
-       if (!ro_gui_theme_read_file_header(&theme_install_descriptor,
-                       (struct theme_file_header *) data))
-               return false;
-       if (source_size - sizeof(struct theme_file_header) !=
-                       theme_install_descriptor.compressed_size)
-               return false;
-       return true;
-}
 
 
 /**
@@ -174,8 +175,8 @@ bool ro_gui_theme_install_apply(wimp_w w)
        struct theme_descriptor *theme_install;
        os_error *error;
        char *fix;
-       const char *source_data;
-       unsigned long source_size;
+       const uint8_t *source_data;
+       size_t source_size;
 
        assert(theme_install_content);
 
diff --git a/include/netsurf/content.h b/include/netsurf/content.h
index 5eee59a..d8adca0 100644
--- a/include/netsurf/content.h
+++ b/include/netsurf/content.h
@@ -94,7 +94,7 @@ lwc_string *content_get_mime_type(struct hlcache_handle *h);
  * \param size Pointer to location to receive byte size of source
  * \return Pointer to source data
  */
-const char *content_get_source_data(struct hlcache_handle *h, unsigned long 
*size);
+const uint8_t *content_get_source_data(struct hlcache_handle *h, size_t *size);
 
 
 /**


-- 
NetSurf Browser

_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to