void c_complain(int level, c_complain_t *c, const char *format, ...) { va_list ap; va_start(ap, format); if (vcomplain(level, c, format, ap)) c->complained_once = 1; va_end(ap); } /* c_complain */
void c_complain_once (int level, c_complain_t *c, const char *format, ...) { va_list ap; if (c->interval < 0) return; va_start (ap, format); if (vcomplain (level, c, format, ap)) c->interval *= -1; va_end (ap); } /* c_complain_once */
void c_complain (int level, c_complain_t *c, const char *format, ...) { va_list ap; /* reset the old interval */ if (c->interval < 0) c->interval *= -1; va_start (ap, format); vcomplain (level, c, format, ap); va_end (ap); } /* c_complain */