it's NULL. Since we already have one back end (uxpty) which doesn't
in fact talk to a network socket, and may well have more soon, I'm
replacing this TCP/IP-centric function with a nice neutral
`connected' function returning a boolean. Nothing else about its
semantics has currently changed.
git-svn-id: http://svn.tartarus.org/sgt/putty@6810
cda61777-01e9-0310-a592-
d414129be87e
sfree(str2);
errs++;
- if (back != NULL && back->socket(backhandle) != NULL) {
+ if (back != NULL && back->connected(backhandle)) {
char ch;
back->special(backhandle, TS_EOF);
ssh_scp_recv((unsigned char *) &ch, 1);
tolocal(argc, argv);
}
- if (back != NULL && back->socket(backhandle) != NULL) {
+ if (back != NULL && back->connected(backhandle)) {
char ch;
back->special(backhandle, TS_EOF);
ssh_scp_recv((unsigned char *) &ch, 1);
return 0;
}
- if (back != NULL && back->socket(backhandle) != NULL) {
+ if (back != NULL && back->connected(backhandle)) {
char ch;
back->special(backhandle, TS_EOF);
sftp_recvdata(&ch, 1);
do_sftp(mode, modeflags, batchfile);
- if (back != NULL && back->socket(backhandle) != NULL) {
+ if (back != NULL && back->connected(backhandle)) {
char ch;
back->special(backhandle, TS_EOF);
sftp_recvdata(&ch, 1);
void (*size) (void *handle, int width, int height);
void (*special) (void *handle, Telnet_Special code);
const struct telnet_special *(*get_specials) (void *handle);
- Socket(*socket) (void *handle);
+ int (*connected) (void *handle);
int (*exitcode) (void *handle);
/* If back->sendok() returns FALSE, data sent to it from the frontend
* may be lost. */
return NULL;
}
-static Socket raw_socket(void *handle)
+static int raw_connected(void *handle)
{
Raw raw = (Raw) handle;
- return raw->s;
+ return raw->s != NULL;
}
static int raw_sendok(void *handle)
raw_size,
raw_special,
raw_get_specials,
- raw_socket,
+ raw_connected,
raw_exitcode,
raw_sendok,
raw_ldisc,
return NULL;
}
-static Socket rlogin_socket(void *handle)
+static int rlogin_connected(void *handle)
{
Rlogin rlogin = (Rlogin) handle;
- return rlogin->s;
+ return rlogin->s != NULL;
}
static int rlogin_sendok(void *handle)
rlogin_size,
rlogin_special,
rlogin_get_specials,
- rlogin_socket,
+ rlogin_connected,
rlogin_exitcode,
rlogin_sendok,
rlogin_ldisc,
}
}
-static Socket ssh_socket(void *handle)
+static int ssh_connected(void *handle)
{
Ssh ssh = (Ssh) handle;
- return ssh->s;
+ return ssh->s != NULL;
}
static int ssh_sendok(void *handle)
ssh_size,
ssh_special,
ssh_get_specials,
- ssh_socket,
+ ssh_connected,
ssh_return_exitcode,
ssh_sendok,
ssh_ldisc,
return specials;
}
-static Socket telnet_socket(void *handle)
+static int telnet_connected(void *handle)
{
Telnet telnet = (Telnet) handle;
- return telnet->s;
+ return telnet->s != NULL;
}
static int telnet_sendok(void *handle)
telnet_size,
telnet_special,
telnet_get_specials,
- telnet_socket,
+ telnet_connected,
telnet_exitcode,
telnet_sendok,
telnet_ldisc,
FD_SET_MAX(signalpipe[0], maxfd, rset);
if (connopen && !sending &&
- back->socket(backhandle) != NULL &&
+ back->connected(backhandle) &&
back->sendok(backhandle) &&
back->sendbuffer(backhandle) < MAX_STDIN_BACKLOG) {
/* If we're OK to send, then try to read from stdin. */
char buf[4096];
int ret;
- if (connopen && back->socket(backhandle) != NULL) {
+ if (connopen && back->connected(backhandle)) {
ret = read(0, buf, sizeof(buf));
if (ret < 0) {
perror("stdin: read");
try_output(1);
}
- if ((!connopen || back->socket(backhandle) == NULL) &&
+ if ((!connopen || !back->connected(backhandle)) &&
bufchain_size(&stdout_data) == 0 &&
bufchain_size(&stderr_data) == 0)
break; /* we closed the connection */
return NULL;
}
-static Socket pty_socket(void *handle)
+static int pty_connected(void *handle)
{
/* Pty pty = (Pty)handle; */
- return NULL; /* shouldn't ever be needed */
+ return TRUE;
}
static int pty_sendok(void *handle)
pty_size,
pty_special,
pty_get_specials,
- pty_socket,
+ pty_connected,
pty_exitcode,
pty_sendok,
pty_ldisc,
cleanup_exit(0);
}
noise_ultralight(len);
- if (connopen && back->socket(backhandle) != NULL) {
+ if (connopen && back->connected(backhandle)) {
if (len > 0) {
return back->send(backhandle, data, len);
} else {
(h == stdout_handle ? "output" : "error"));
cleanup_exit(0);
}
- if (connopen && back->socket(backhandle) != NULL) {
+ if (connopen && back->connected(backhandle)) {
back->unthrottle(backhandle, (handle_backlog(stdout_handle) +
handle_backlog(stderr_handle)));
}
if (sending)
handle_unthrottle(stdin_handle, back->sendbuffer(backhandle));
- if ((!connopen || back->socket(backhandle) == NULL) &&
+ if ((!connopen || !back->connected(backhandle)) &&
handle_backlog(stdout_handle) + handle_backlog(stderr_handle) == 0)
break; /* we closed the connection */
}