X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=trace.c;h=2f640a96660768e191f464076103cbf181cf9b39;hp=62236845e0080c30ab1d6381f823d82bae207358;hb=55a263bc1edd568d2fb85fcd2a8f3d118bebbeff;hpb=ef3fc1931a2fa82f482d21fb1296735206463d3a diff --git a/trace.c b/trace.c index 6223684..2f640a9 100644 --- a/trace.c +++ b/trace.c @@ -32,10 +32,10 @@ static char *spaces[11] = { * initializes a new trace * all values will be reset */ -void start_trace(int port, struct interface *interface, char *caller, char *dialing, int direction, int category, int serial, char *name) +void _start_trace(const char *__file, int __line, int port, struct interface *interface, char *caller, char *dialing, int direction, int category, int serial, char *name) { if (trace.name[0]) - PERROR("trace already started (name=%s)\n", trace.name); + PERROR("trace already started (name=%s) in file %s line %d\n", trace.name, __file, __line); memset(&trace, 0, sizeof(struct trace)); trace.port = port; if (interface) @@ -59,12 +59,12 @@ void start_trace(int port, struct interface *interface, char *caller, char *dial * if subelement is given, element will also contain a subelement * if multiple subelements belong to same element, name must be equal for all subelements */ -void add_trace(char *name, char *sub, const char *fmt, ...) +void _add_trace(const char *__file, int __line, char *name, char *sub, const char *fmt, ...) { va_list args; if (!trace.name[0]) - PERROR("trace not started\n"); + PERROR("trace not started in file %s line %d\n", __file, __line); /* check for required name value */ if (!name) @@ -208,7 +208,7 @@ static char *print_trace(int detail, int port, char *interface, char *caller, ch SCAT(trace_string, "--"); } if (trace.serial) - SPRINT(buffer, "(%d): %s", trace.serial, trace.name[0]?trace.name:""); + SPRINT(buffer, "(%lu): %s", trace.serial, trace.name[0]?trace.name:""); else SPRINT(buffer, ": %s", trace.name[0]?trace.name:""); SCAT(trace_string, buffer); @@ -217,6 +217,11 @@ static char *print_trace(int detail, int port, char *interface, char *caller, ch switch(detail) { case 1: /* brief */ + if (trace.port) + { + SPRINT(buffer, " port %d", trace.port); + SCAT(trace_string, buffer); + } i = 0; while(i < trace.elements) { @@ -275,7 +280,7 @@ static char *print_trace(int detail, int port, char *interface, char *caller, ch * trace ends * this function will put the trace to sockets and logfile, if requested */ -void end_trace(void) +void _end_trace(const char *__file, int __line) { char *string; FILE *fp; @@ -283,7 +288,7 @@ void end_trace(void) struct admin_queue *response, **responsep; /* response pointer */ if (!trace.name[0]) - PERROR("trace not started\n"); + PERROR("trace not started in file %s line %d\n", __file, __line); if (options.deb || options.log[0]) { @@ -307,7 +312,7 @@ void end_trace(void) } /* process admin */ - admin = admin_list; + admin = admin_first; while(admin) { if (admin->trace.detail)