From: ellson <devnull@localhost>
Date: Thu, 13 Jul 2006 18:32:13 +0000 (+0000)
Subject: fix problem with anchors in svg output
X-Git-Tag: LAST_LIBGRAPH~32^2~6071
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c7a41a766849dfa32b69692f7cb7dbb00d245c92;p=graphviz

fix problem with anchors in svg output
---

diff --git a/plugin/core/gvrender_core_svg.c b/plugin/core/gvrender_core_svg.c
index f1121fb3b..0d11cb4c3 100644
--- a/plugin/core/gvrender_core_svg.c
+++ b/plugin/core/gvrender_core_svg.c
@@ -384,17 +384,14 @@ static void svggen_end_edge(GVJ_t * job)
 static void
 svggen_begin_anchor(GVJ_t * job, char *href, char *tooltip, char *target)
 {
-    svggen_fputs(job, "<a xlink:href=\"");
-    svggen_fputs(job, xml_string(href));
-    if (tooltip && tooltip[0]) {
-	svggen_fputs(job, "\" xlink:title=\"");
-	svggen_fputs(job, xml_string(tooltip));
-    }
-    if (target && target[0]) {
-	svggen_fputs(job, "\" target=\"");
-	svggen_fputs(job, xml_string(target));
-    }
-    svggen_fputs(job, "\">\n");
+    svggen_fputs(job, "<a");
+    if (href && href[0])
+	svggen_printf(job, " xlink:href=\"%s\"", xml_string(href));
+    if (tooltip && tooltip[0])
+	svggen_printf(job, " xlink:title=\"%s\"", xml_string(tooltip));
+    if (target && target[0])
+	svggen_printf(job, " target=\"%s\"", xml_string(target));
+    svggen_fputs(job, ">\n");
 }
 
 static void svggen_end_anchor(GVJ_t * job)
@@ -552,7 +549,11 @@ gvrender_engine_t svggen_engine = {
 gvrender_features_t svggen_features = {
     GVRENDER_DOES_TRUECOLOR
 	| GVRENDER_Y_GOES_DOWN
-        | GVRENDER_DOES_TRANSFORM, /* flags*/
+        | GVRENDER_DOES_TRANSFORM
+	| GVRENDER_DOES_LABELS
+	| GVRENDER_DOES_MAPS
+	| GVRENDER_DOES_TARGETS
+	| GVRENDER_DOES_TOOLTIPS, /* flags */
     DEFAULT_EMBED_MARGIN,	/* default margin - points */
     {96.,96.},			/* default dpi */
     svggen_knowncolors,		/* knowncolors */