diff options
author | Herb Lewis <herb@samba.org> | 2004-04-29 23:05:58 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:51:22 -0500 |
commit | 9139b89259afaf3772bbbb92ea925d015d5850ad (patch) | |
tree | 4b0e3bc48a2f27e70cbb7b23f6fd1ac8b8a312f9 /source3 | |
parent | 0922c254c6c8c941ebc7321b1c7114c1a5abd880 (diff) | |
download | samba-9139b89259afaf3772bbbb92ea925d015d5850ad.tar.gz samba-9139b89259afaf3772bbbb92ea925d015d5850ad.tar.bz2 samba-9139b89259afaf3772bbbb92ea925d015d5850ad.zip |
r416: add a newline to the debuglevel message returned string
and have smbcontrol print the PID with it
(This used to be commit d3edf71885bfb5d342e62d46542db8ca814f3303)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/lib/debug.c | 7 | ||||
-rw-r--r-- | source3/utils/smbcontrol.c | 10 |
2 files changed, 13 insertions, 4 deletions
diff --git a/source3/lib/debug.c b/source3/lib/debug.c index 1a926053bb..fe4cd52a8b 100644 --- a/source3/lib/debug.c +++ b/source3/lib/debug.c @@ -208,8 +208,8 @@ static char *debug_list_class_names_and_levels(void) dim += l; } - /* create single string list */ - b = buf = malloc(dim); + /* create single string list - add space for newline */ + b = buf = malloc(dim+1); if (!buf) { err = True; goto done; @@ -219,7 +219,8 @@ static char *debug_list_class_names_and_levels(void) strncpy(b, list[i], l); b = b + l; } - b[-1] = '\0'; + b[-1] = '\n'; /* replace last space with newline */ + b[0] = '\0'; /* null terminate string */ done: /* free strings list */ diff --git a/source3/utils/smbcontrol.c b/source3/utils/smbcontrol.c index 8a27684a4d..2eb661c8b6 100644 --- a/source3/utils/smbcontrol.c +++ b/source3/utils/smbcontrol.c @@ -82,6 +82,14 @@ static void wait_replies(BOOL multiple_replies) } while (timeout - (time(NULL) - start_time) > 0); } +/* Message handler callback that displays the PID and a string on stdout */ + +static void print_pid_string_cb(int msg_type, pid_t pid, void *buf, size_t len) +{ + printf("PID %u: %.*s", (unsigned int)pid, (int)len, (const char *)buf); + num_replies++; +} + /* Message handler callback that displays a string on stdout */ static void print_string_cb(int msg_type, pid_t pid, void *buf, size_t len) @@ -281,7 +289,7 @@ static BOOL do_debuglevel(const pid_t pid, const int argc, const char **argv) if (!send_message(pid, MSG_REQ_DEBUGLEVEL, NULL, 0, False)) return False; - message_register(MSG_DEBUGLEVEL, print_string_cb); + message_register(MSG_DEBUGLEVEL, print_pid_string_cb); wait_replies(pid == 0); |