diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2023-01-03 15:05:51 +1030 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2023-01-03 15:27:03 +1030 |
commit | 5e0e40e3c53d253bb767606f847182f95a443547 (patch) | |
tree | 4bb35e92e817feadc44b98874b0bb0cf5b68e074 /src/cairo-svg-glyph-render.c | |
parent | 1af1e11254c29f6bd1f61b9e1776a57d4a772919 (diff) | |
download | cairo-5e0e40e3c53d253bb767606f847182f95a443547.tar.gz |
Fix mingw build failure when SVG fonts enabled
Add missing strndup() function. Copied the strndup() implementation
from util/cairo-missing/strndup.c plus a bug fix.
Diffstat (limited to 'src/cairo-svg-glyph-render.c')
-rw-r--r-- | src/cairo-svg-glyph-render.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/cairo-svg-glyph-render.c b/src/cairo-svg-glyph-render.c index 738d4f8ff..f4fe4ffce 100644 --- a/src/cairo-svg-glyph-render.c +++ b/src/cairo-svg-glyph-render.c @@ -453,7 +453,7 @@ lookup_url_element (cairo_svg_glyph_render_t *svg_render, const char *url) const char *end = strpbrk(p, WHITE_SPACE_CHARS ")"); if (end) { - char *id = strndup (p, end - p); + char *id = _cairo_strndup (p, end - p); element = lookup_element (svg_render, id); free (id); } @@ -812,7 +812,7 @@ get_color (cairo_svg_glyph_render_t *svg_render, if (!end || end == s) return FALSE; - char *fallback = strndup (s, end - s); + char *fallback = _cairo_strndup (s, end - s); cairo_bool_t success = get_color (svg_render, fallback, color); free (fallback); return success; @@ -965,7 +965,7 @@ append_attribute (cairo_svg_element_t *element, svg_attribute_t *attribute) end = strchr (p, ':'); if (!end || end == p) break; - attr.name = strndup (p, end - p); + attr.name = _cairo_strndup (p, end - p); p = end + 1; p = skip_space(p); end = strchr (p, ';'); @@ -974,7 +974,7 @@ append_attribute (cairo_svg_element_t *element, svg_attribute_t *attribute) if (end == p) goto split_style_fail; - attr.value = strndup (p, end - p); + attr.value = _cairo_strndup (p, end - p); if (*end) p = end + 1; @@ -1067,7 +1067,7 @@ parse_attributes (cairo_svg_glyph_render_t *svg_render, goto fail; } - attr.name = strndup (p, end - p); + attr.name = _cairo_strndup (p, end - p); p = end; p = skip_space (p); @@ -1092,7 +1092,7 @@ parse_attributes (cairo_svg_glyph_render_t *svg_render, goto fail; } - attr.value = strndup (p, end - p); + attr.value = _cairo_strndup (p, end - p); p = end + 1; if (!append_attribute (element, &attr)) @@ -1229,7 +1229,7 @@ parse_svg (cairo_svg_glyph_render_t *svg_render, goto fail; } - name = strndup (p, end - p); + name = _cairo_strndup (p, end - p); p = end; p = skip_space (p); if (*p != '>') { @@ -1275,7 +1275,7 @@ parse_svg (cairo_svg_glyph_render_t *svg_render, goto fail; } - name = strndup (p, end - p); + name = _cairo_strndup (p, end - p); p = end; new_elem = create_element (CONTAINER_ELEMENT, name); |