summaryrefslogtreecommitdiff
path: root/source3/rpcclient
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-10-19 19:54:01 +0000
committerLuke Leighton <lkcl@samba.org>1999-10-19 19:54:01 +0000
commitbb6de2f1e938d2b8fa565ff2196b666053fa957c (patch)
tree27dc846a9a7fe2a4746b2ddbd66f04888a7b3d7d /source3/rpcclient
parentc05be7037b15b65706c047b33800a866df9a3005 (diff)
downloadsamba-bb6de2f1e938d2b8fa565ff2196b666053fa957c.tar.gz
samba-bb6de2f1e938d2b8fa565ff2196b666053fa957c.tar.bz2
samba-bb6de2f1e938d2b8fa565ff2196b666053fa957c.zip
oops, added wait_keyboard back, but _this_ time wrapped it with
HAVE_READLINE (This used to be commit af05710d0b1b73929dee42bb0424c63c48e358f5)
Diffstat (limited to 'source3/rpcclient')
-rw-r--r--source3/rpcclient/rpcclient.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/source3/rpcclient/rpcclient.c b/source3/rpcclient/rpcclient.c
index 9648c4d28f..84504b16fb 100644
--- a/source3/rpcclient/rpcclient.c
+++ b/source3/rpcclient/rpcclient.c
@@ -257,6 +257,37 @@ static void do_command(struct client_info *info, char *tok, char *line)
}
}
+#ifndef HAVE_LIBREADLINE
+/****************************************************************************
+wait for keyboard activity, swallowing network packets
+****************************************************************************/
+static void wait_keyboard(void)
+{
+ fd_set fds;
+ struct timeval timeout;
+
+ while (1) {
+ FD_ZERO(&fds);
+ FD_SET(cli->fd,&fds);
+ FD_SET(fileno(stdin),&fds);
+
+ timeout.tv_sec = 20;
+ timeout.tv_usec = 0;
+ sys_select(MAX(cli->fd,fileno(stdin))+1,&fds,&timeout);
+
+ if (FD_ISSET(fileno(stdin),&fds))
+ return;
+
+ /* We deliberately use receive_smb instead of
+ client_receive_smb as we want to receive
+ session keepalives and then drop them here.
+ */
+ if (FD_ISSET(cli->fd,&fds))
+ receive_smb(cli->fd,cli->inbuf,0);
+ }
+}
+#endif
+
/****************************************************************************
process commands from the client
****************************************************************************/
@@ -340,7 +371,6 @@ static BOOL process( struct client_info *info, char *cmd_str)
/* Copy read line to samba buffer */
pstrcpy(line, rl_line_buffer);
- pstrcat(line, "\n");
/* Add to history */