+static bool
+has_color_name (const char *str, const char *name)
+{
+ char *p;
+
+ assert (strlen (str));
+ assert (strlen (name));
+
+ if (!(*str == *name || *str == toupper (*name)))
+ return false;
+ else if (*(name + 1) != '\0'
+ && !((p = strstr (str + 1, name + 1)) && p == str + 1))
+ return false;
+
+ return true;
+}
+
+#define DO_VFPRINTF(fmt) \
+ va_list ap; \
+ fprintf (stderr, "%s: ", program_name); \
+ va_start (ap, fmt); \
+ vfprintf (stderr, fmt, ap); \
+ va_end (ap); \
+ fprintf (stderr, "\n"); \
+
+static void
+vfprintf_diag (const char *fmt, ...)
+{
+ DO_VFPRINTF (fmt);
+}
+