+{
+ va_list ap;
+ char *s;
+ va_start (ap, label);
+ s = xvasprintf (label, ap);
+
+ if (fabs (position) < DBL_EPSILON)
+ position = 0;
+
+ draw_tick_internal (cr, geom, orientation, rotated, position, s);
+ free (s);
+ va_end (ap);
+}
+
+
+static void
+draw_tick_internal (cairo_t *cr, const struct xrchart_geometry *geom,
+ enum tick_orientation orientation,
+ bool rotated,
+ double position,
+ const char *s)