Fix trivial problems with PSFTP batch mode
[sgt/putty] / plink.c
diff --git a/plink.c b/plink.c
index 8d4701a..7023f9d 100644 (file)
--- a/plink.c
+++ b/plink.c
@@ -452,6 +452,9 @@ int main(int argc, char **argv)
            } else if (!strcmp(p, "-telnet")) {
                default_protocol = cfg.protocol = PROT_TELNET;
                default_port = cfg.port = 23;
+           } else if (!strcmp(p, "-rlogin")) {
+               default_protocol = cfg.protocol = PROT_RLOGIN;
+               default_port = cfg.port = 513;
            } else if (!strcmp(p, "-raw")) {
                default_protocol = cfg.protocol = PROT_RAW;
            } else if (!strcmp(p, "-v")) {
@@ -735,8 +738,11 @@ int main(int argc, char **argv)
     {
        char *error;
        char *realhost;
+       /* nodelay is only useful if stdin is a character device (console) */
+       int nodelay = cfg.tcp_nodelay &&
+           (GetFileType(GetStdHandle(STD_INPUT_HANDLE)) == FILE_TYPE_CHAR);
 
-       error = back->init(cfg.host, cfg.port, &realhost);
+       error = back->init(cfg.host, cfg.port, &realhost, nodelay);
        if (error) {
            fprintf(stderr, "Unable to open connection:\n%s", error);
            return 1;