}
}
+#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
****************************************************************************/
/* Copy read line to samba buffer */
pstrcpy(line, rl_line_buffer);
- pstrcat(line, "\n");
/* Add to history */