diff options
author | Jeremy Allison <jra@samba.org> | 2008-10-03 14:58:41 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-10-03 14:58:41 -0700 |
commit | a9390d3047b7b7aba6f73c20e3dff292f7600a9f (patch) | |
tree | 4fb4a4a52e45e0b4907fd79e16de9e5b90d202c8 /source3/lib | |
parent | f6c883b4b00f4cd751cd312a27bddffb3be9c059 (diff) | |
download | samba-a9390d3047b7b7aba6f73c20e3dff292f7600a9f.tar.gz samba-a9390d3047b7b7aba6f73c20e3dff292f7600a9f.tar.xz samba-a9390d3047b7b7aba6f73c20e3dff292f7600a9f.zip |
Correctly fix smbclient to terminate on eof from server.
Jeremy.
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/readline.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/source3/lib/readline.c b/source3/lib/readline.c index 254f55c86a1..fd57799b578 100644 --- a/source3/lib/readline.c +++ b/source3/lib/readline.c @@ -45,6 +45,16 @@ # define RL_COMPLETION_CAST #endif /* HAVE_NEW_LIBREADLINE */ +static bool smb_rl_done; + +void smb_readline_done(void) +{ + smb_rl_done = true; +#if HAVE_LIBREADLINE + rl_done = 1; +#endif +} + /**************************************************************************** Display the prompt and wait for input. Call callback() regularly ****************************************************************************/ @@ -69,7 +79,7 @@ static char *smb_readline_replacement(const char *prompt, void (*callback)(void) return NULL; } - while (1) { + while (!smb_rl_done) { timeout.tv_sec = 5; timeout.tv_usec = 0; @@ -87,6 +97,7 @@ static char *smb_readline_replacement(const char *prompt, void (*callback)(void) callback(); } } + return NULL; } /**************************************************************************** |