31 #include <sinfo_msg.h>
52 #define DEBUG_CALLER 0
57 #define MAXSTRINGLENGTH 1000
62 static int outlevel = -1;
66 const char *sinfo_callers[MAXLEVEL];
70 static char printbuffer[MAXSTRINGLENGTH];
73 static const char *domain =
"Undefined domain";
78 static int initialized = FALSE;
80 static int number_of_warnings = 0;
105 number_of_warnings = 0;
111 cpl_msg_set_indentation(2);
121 cpl_msg_set_time_on();
123 cpl_msg_set_domain_on();
124 cpl_msg_set_component_off();
156 if (level + 1 < MAXLEVEL) {
158 cpl_msg_indent_more();
160 sinfo_callers[level] = fctid;
188 if (level >= MAXLEVEL || strcmp(sinfo_callers[level], fctid) == 0)
194 cpl_msg_indent_less();
200 sinfo_callers[level], fctid);
224 va_start(al, format);
225 vsnprintf(printbuffer, MAXSTRINGLENGTH - 1, format, al);
228 printbuffer[MAXSTRINGLENGTH - 1] =
'\0';
230 if (outlevel < 0 || level <= outlevel) {
234 cpl_msg_info(fct,
"%s", printbuffer);
240 cpl_msg_debug(fct,
"%s", printbuffer);
253 return number_of_warnings;
269 number_of_warnings += n;
292 va_start(al, format);
293 vsnprintf(printbuffer, MAXSTRINGLENGTH - 1, format, al);
296 printbuffer[MAXSTRINGLENGTH - 1] =
'\0';
298 cpl_msg_warning(fct,
"%s", printbuffer);
300 number_of_warnings += 1;
326 cpl_msg_set_domain(d);