102 #define MAXSTRINGLENGTH 1000
105 static int level = 0;
107 static int outlevel = -1;
110 static const char *callers[MAXLEVEL];
113 static char printbuffer[MAXSTRINGLENGTH];
116 static const char *domain =
"Undefined domain";
120 static bool initialized =
false;
122 static int number_of_warnings = 0;
156 number_of_warnings = 0;
166 cpl_msg_set_indentation(2);
180 #if WANT_TIME_MEASURE
181 cpl_msg_set_time_on();
183 cpl_msg_set_time_off();
186 cpl_msg_set_domain_on();
187 cpl_msg_set_component_off();
218 if (level + 1 < MAXLEVEL)
221 cpl_msg_indent_more();
223 callers[level] = fct;
251 if (level >= MAXLEVEL || strcmp(callers[level], fct) == 0)
257 cpl_msg_indent_less();
263 callers[level], fct);
285 va_start(al, format);
286 vsnprintf(printbuffer, MAXSTRINGLENGTH - 1, format, al);
289 printbuffer[MAXSTRINGLENGTH - 1] =
'\0';
291 if (outlevel < 0 || level <= outlevel)
294 cpl_msg_info(fct,
"%s", printbuffer);
299 cpl_msg_debug(fct,
"%s", printbuffer);
311 return number_of_warnings;
326 number_of_warnings += n;
351 va_start(al, format);
352 vsnprintf(printbuffer, MAXSTRINGLENGTH - 1, format, al);
355 printbuffer[MAXSTRINGLENGTH - 1] =
'\0';
357 cpl_msg_warning(fct,
"%s", printbuffer);
359 number_of_warnings += 1;
382 cpl_msg_set_domain(d);