summaryrefslogtreecommitdiff
path: root/src/cairo-svg-glyph-render.c
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2023-01-03 15:05:51 +1030
committerAdrian Johnson <ajohnson@redneon.com>2023-01-03 15:27:03 +1030
commit5e0e40e3c53d253bb767606f847182f95a443547 (patch)
tree4bb35e92e817feadc44b98874b0bb0cf5b68e074 /src/cairo-svg-glyph-render.c
parent1af1e11254c29f6bd1f61b9e1776a57d4a772919 (diff)
downloadcairo-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.c16
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);