diff options
author | Jeremy Allison <jra@samba.org> | 2001-11-20 22:55:46 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-11-20 22:55:46 +0000 |
commit | d325611842beb1b1a4448df9eca42430b27dec24 (patch) | |
tree | e36164b25976ef3f4ee6c593dc5e4817eec39309 /source3/utils | |
parent | 02defd1de4a690415daf521f25bbdd7490c06840 (diff) | |
download | samba-d325611842beb1b1a4448df9eca42430b27dec24.tar.gz samba-d325611842beb1b1a4448df9eca42430b27dec24.tar.bz2 samba-d325611842beb1b1a4448df9eca42430b27dec24.zip |
Merged in JohnR's ping messaging extension.
Jeremy.
(This used to be commit 694372b2c4d7713fe228114730027175f7b4e9b6)
Diffstat (limited to 'source3/utils')
-rw-r--r-- | source3/utils/smbcontrol.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/source3/utils/smbcontrol.c b/source3/utils/smbcontrol.c index 9a597948b3..8295280974 100644 --- a/source3/utils/smbcontrol.c +++ b/source3/utils/smbcontrol.c @@ -178,7 +178,7 @@ static int parse_type(char *mtype) /**************************************************************************** do command ****************************************************************************/ -static BOOL do_command(char *dest, char *msg_name, char **params) +static BOOL do_command(char *dest, char *msg_name, int iparams, char **params) { int i, n, v; int mtype; @@ -349,7 +349,10 @@ static BOOL do_command(char *dest, char *msg_name, char **params) n = atoi(params[0]); pong_count = 0; for (i=0;i<n;i++) { - retval = send_message(dest, MSG_PING, NULL, 0, True); + if (iparams > 1) + retval = send_message(dest, MSG_PING, params[1], strlen(params[1]) + 1, True); + else + retval = send_message(dest, MSG_PING, NULL, 0, True); if (retval == False) break; } if (retval) { @@ -404,17 +407,17 @@ static BOOL do_command(char *dest, char *msg_name, char **params) if (!interactive) { if (argc < 2) usage(True); - return (do_command(argv[0],argv[1],argc > 2 ? &argv[2] : 0)); + return (do_command(argv[0],argv[1], argc-2, argc > 2 ? &argv[2] : 0)); } while (True) { - char *myargv[3]; + char *myargv[4]; int myargc; printf("smbcontrol> "); if (!fgets(temp, sizeof(temp)-1, stdin)) break; myargc = 0; - while ((myargc < 3) && + while ((myargc < 4) && (myargv[myargc] = strtok(myargc?NULL:temp," \t\n"))) { myargc++; } @@ -422,7 +425,7 @@ static BOOL do_command(char *dest, char *msg_name, char **params) if (strequal(myargv[0],"q")) break; if (myargc < 2) usage(False); - else if (!do_command(myargv[0],myargv[1],myargc > 2 ? &myargv[2] : 0)) + else if (!do_command(myargv[0],myargv[1],myargc-2,myargc > 2 ? &myargv[2] : 0)) usage(False); } return(0); |