Gitweb links:

...log 
http://git.netsurf-browser.org/libsvgtiny.git/shortlog/c149e4a24ac2c670d315a5f1a4a83b58bf737c52
...commit 
http://git.netsurf-browser.org/libsvgtiny.git/commit/c149e4a24ac2c670d315a5f1a4a83b58bf737c52
...tree 
http://git.netsurf-browser.org/libsvgtiny.git/tree/c149e4a24ac2c670d315a5f1a4a83b58bf737c52

The branch, chris/fetch-x-ent-ref has been updated
       via  c149e4a24ac2c670d315a5f1a4a83b58bf737c52 (commit)
      from  c9bdd0c5013efa193668ee24a8a0fb73227471a6 (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/libsvgtiny.git/commit/?id=c149e4a24ac2c670d315a5f1a4a83b58bf737c52
commit c149e4a24ac2c670d315a5f1a4a83b58bf737c52
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>

    Add an extra callback so we can parse the fetched external entity

diff --git a/include/svgtiny.h b/include/svgtiny.h
index 84873ed..50dbc7a 100644
--- a/include/svgtiny.h
+++ b/include/svgtiny.h
@@ -62,12 +62,14 @@ struct svgtiny_named_color {
        svgtiny_colour color;
 };
 
+typedef int (*svgtiny_dom_xml_parser_fetch_cb)(void *parser, const char *base, 
const char *uri,
+               int (*svgtiny_expat_xmlparser_parse_cb)(void *parser, const 
char *data, int size));
 
 struct svgtiny_diagram *svgtiny_create(void);
 svgtiny_code svgtiny_parse(struct svgtiny_diagram *diagram,
                const char *buffer, size_t size, const char *url,
                int width, int height,
-               int (*fetch_cb)(void *parser, const char *base, const char 
*uri));
+               svgtiny_dom_xml_parser_fetch_cb fetch_cb);
 void svgtiny_free(struct svgtiny_diagram *svg);
 
 #endif
diff --git a/src/svgtiny.c b/src/svgtiny.c
index 65057b2..30d5d02 100644
--- a/src/svgtiny.c
+++ b/src/svgtiny.c
@@ -134,7 +134,7 @@ static void ignore_msg(uint32_t severity, void *ctx, const 
char *msg, ...)
 svgtiny_code svgtiny_parse(struct svgtiny_diagram *diagram,
                const char *buffer, size_t size, const char *url,
                int viewport_width, int viewport_height,
-               int (*fetch_cb)(void *parser, const char *base, const char 
*uri))
+               svgtiny_dom_xml_parser_fetch_cb fetch_cb)
 {
        dom_document *document;
        dom_exception exc;
@@ -181,7 +181,7 @@ svgtiny_code svgtiny_parse(struct svgtiny_diagram *diagram,
        /* We're done parsing, drop the parser.
         * We now own the document entirely.
         */
-       dom_xml_parser_destroy(parser);
+//     dom_xml_parser_destroy(parser); /**\todo we need to ensure the doc is 
fully parsed here */
 
        /* find root <svg> element */
        exc = dom_document_get_document_element(document, &svg);


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

Summary of changes:
 include/svgtiny.h |    4 +++-
 src/svgtiny.c     |    4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/svgtiny.h b/include/svgtiny.h
index 84873ed..50dbc7a 100644
--- a/include/svgtiny.h
+++ b/include/svgtiny.h
@@ -62,12 +62,14 @@ struct svgtiny_named_color {
        svgtiny_colour color;
 };
 
+typedef int (*svgtiny_dom_xml_parser_fetch_cb)(void *parser, const char *base, 
const char *uri,
+               int (*svgtiny_expat_xmlparser_parse_cb)(void *parser, const 
char *data, int size));
 
 struct svgtiny_diagram *svgtiny_create(void);
 svgtiny_code svgtiny_parse(struct svgtiny_diagram *diagram,
                const char *buffer, size_t size, const char *url,
                int width, int height,
-               int (*fetch_cb)(void *parser, const char *base, const char 
*uri));
+               svgtiny_dom_xml_parser_fetch_cb fetch_cb);
 void svgtiny_free(struct svgtiny_diagram *svg);
 
 #endif
diff --git a/src/svgtiny.c b/src/svgtiny.c
index 65057b2..30d5d02 100644
--- a/src/svgtiny.c
+++ b/src/svgtiny.c
@@ -134,7 +134,7 @@ static void ignore_msg(uint32_t severity, void *ctx, const 
char *msg, ...)
 svgtiny_code svgtiny_parse(struct svgtiny_diagram *diagram,
                const char *buffer, size_t size, const char *url,
                int viewport_width, int viewport_height,
-               int (*fetch_cb)(void *parser, const char *base, const char 
*uri))
+               svgtiny_dom_xml_parser_fetch_cb fetch_cb)
 {
        dom_document *document;
        dom_exception exc;
@@ -181,7 +181,7 @@ svgtiny_code svgtiny_parse(struct svgtiny_diagram *diagram,
        /* We're done parsing, drop the parser.
         * We now own the document entirely.
         */
-       dom_xml_parser_destroy(parser);
+//     dom_xml_parser_destroy(parser); /**\todo we need to ensure the doc is 
fully parsed here */
 
        /* find root <svg> element */
        exc = dom_document_get_document_element(document, &svg);


-- 
NetSurf SVG decoder

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

Reply via email to