3 // _dplf - Debug Print Line Format
4 // _dpclf - Debug Print Channel Line Format
8 // _dplf(int indent, const char * format, ...);
9 // _dpclf(const char ** channelNames, int channel, int indent, const char * format, ...);
15 #define MAX_F_STRING 1025
17 // Debug Print Line Format (_dplf)
19 #define _dplf(...) __dplf(__FILE__, __LINE__, ##__VA_ARGS__)
23 void __dplf(const char * file, int line, int indent, const char * format, ...)
26 char string[MAX_F_STRING];
28 va_start(args, format);
29 vsnprintf(string, sizeof(string), format, args);
30 string[sizeof(string)-1] = '\0';
31 printf("%s:% 5d: ", file, line);
32 for(c = 0; c<indent; c++)
34 printf("%s\n", string);
38 // Debug Print Channel Line Format (_dpclf)
40 #define _dpclf(...) __dpclf(__FILE__, __LINE__, ##__VA_ARGS__)
44 void __dpclf(const char * file, int line, const char ** channels, int channel, int indent, const char * format, ...)
46 bool chan = channel && channels && channels[channel];
50 char string[MAX_F_STRING];
52 va_start(args, format);
53 vsnprintf(string, sizeof(string), format, args);
54 string[sizeof(string)-1] = '\0';
55 printf("%s:% 5d: %s%s", file, line, chan ? channels[channel] : "", chan && channels[channel][0] ? ": " : "");
56 for(c = 0; c<indent; c++)
58 printf("%s\n", string);