Index: svg.c =================================================================== --- svg.c (revision 10523) +++ svg.c (revision 10524) @@ -67,6 +67,7 @@ int width; char *color; int erase, drill; + unsigned warned_elliptical:1; } hid_gc_s; static const char *CAPS(pcb_cap_style_t cap) @@ -392,7 +393,7 @@ static pcb_hid_gc_t svg_make_gc(void) { - pcb_hid_gc_t rv = (pcb_hid_gc_t) malloc(sizeof(hid_gc_s)); + pcb_hid_gc_t rv = (pcb_hid_gc_t) calloc(sizeof(hid_gc_s), 1); rv->me_pointer = &svg_hid; rv->cap = Trace_Cap; rv->width = 1; @@ -615,7 +616,10 @@ if (height > maxdiff) maxdiff = height; if (diff2 > maxdiff / 1000) { - pcb_message(PCB_MSG_ERROR, "Can't draw elliptical arc on svg; object omitted; expect BROKEN TRACE\n"); + if (!gc->warned_elliptical) { + pcb_message(PCB_MSG_ERROR, "Can't draw elliptical arc on svg; object omitted; expect BROKEN TRACE\n"); + gc->warned_elliptical = 1; + } return; }