/* wydawca - automatic release submission daemon Copyright (C) 2009, 2010 Sergey Poznyakoff Wydawca is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Wydawca is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with wydawca. If not, see . */ #include "wydawca.h" static struct obstack report_stk; static int report_stk_inited; char *report_string; void report_init () { if (!report_stk_inited) obstack_init (&report_stk); else obstack_free (&report_stk, report_string); } void report_add (const char *fmt, ...) { va_list ap; char *str = NULL; size_t size = 0; va_start (ap, fmt); grecs_vasprintf (&str, &size, fmt, ap); va_end (ap); if (str) { obstack_grow (&report_stk, str, strlen (str)); obstack_1grow (&report_stk, '\n'); } free (str); } void report_finish () { obstack_1grow (&report_stk, 0); report_string = obstack_finish (&report_stk); }