projects
/
u
/
mdw
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a new back-end function to return the exit code of the remote
[u/mdw/putty]
/
rlogin.c
diff --git
a/rlogin.c
b/rlogin.c
index
525d48d
..
ba7dd37
100644
(file)
--- a/
rlogin.c
+++ b/
rlogin.c
@@
-86,7
+86,7
@@
static void rlogin_sent(Plug plug, int bufsize)
* Also places the canonical host name into `realhost'. It must be
* freed by the caller.
*/
* Also places the canonical host name into `realhost'. It must be
* freed by the caller.
*/
-static char *rlogin_init(char *host, int port, char **realhost)
+static char *rlogin_init(char *host, int port, char **realhost
, int nodelay
)
{
static struct plug_function_table fn_table = {
rlogin_closing,
{
static struct plug_function_table fn_table = {
rlogin_closing,
@@
-121,7
+121,7
@@
static char *rlogin_init(char *host, int port, char **realhost)
sprintf(buf, "Connecting to %.100s port %d", addrbuf, port);
logevent(buf);
}
sprintf(buf, "Connecting to %.100s port %d", addrbuf, port);
logevent(buf);
}
- s = sk_new(addr, port, 1, 0, &fn_table_ptr);
+ s = sk_new(addr, port, 1, 0,
nodelay,
&fn_table_ptr);
if ((err = sk_socket_error(s)))
return err;
if ((err = sk_socket_error(s)))
return err;
@@
-177,6
+177,9
@@
static void rlogin_size(void)
{
char b[12] = { '\xFF', '\xFF', 0x73, 0x73, 0, 0, 0, 0, 0, 0, 0, 0 };
{
char b[12] = { '\xFF', '\xFF', 0x73, 0x73, 0, 0, 0, 0, 0, 0, 0, 0 };
+ if (s == NULL)
+ return;
+
b[6] = cols >> 8;
b[7] = cols & 0xFF;
b[4] = rows >> 8;
b[6] = cols >> 8;
b[7] = cols & 0xFF;
b[4] = rows >> 8;
@@
-214,6
+217,12
@@
static int rlogin_ldisc(int option)
return 0;
}
return 0;
}
+static int rlogin_exitcode(void)
+{
+ /* If we ever implement RSH, we'll probably need to do this properly */
+ return 0;
+}
+
Backend rlogin_backend = {
rlogin_init,
rlogin_send,
Backend rlogin_backend = {
rlogin_init,
rlogin_send,
@@
-221,6
+230,7
@@
Backend rlogin_backend = {
rlogin_size,
rlogin_special,
rlogin_socket,
rlogin_size,
rlogin_special,
rlogin_socket,
+ rlogin_exitcode,
rlogin_sendok,
rlogin_ldisc,
rlogin_unthrottle,
rlogin_sendok,
rlogin_ldisc,
rlogin_unthrottle,