Serial back end for Unix. Due to hardware limitations (no Linux box
[u/mdw/putty] / unix / uxplink.c
index 0e27366..38129f9 100644 (file)
@@ -82,6 +82,8 @@ char *platform_default_s(const char *name)
        return dupstr(getenv("TERM"));
     if (!strcmp(name, "UserName"))
        return get_username();
+    if (!strcmp(name, "SerialLine"))
+       return dupstr("/dev/ttyS0");
     return NULL;
 }
 
@@ -527,6 +529,8 @@ static void usage(void)
     printf("  -4 -6     force use of IPv4 or IPv6\n");
     printf("  -C        enable compression\n");
     printf("  -i key    private key file for authentication\n");
+    printf("  -noagent  disable use of Pageant\n");
+    printf("  -agent    enable use of Pageant\n");
     printf("  -m file   read remote command(s) from file\n");
     printf("  -s        remote command is an SSH subsystem (SSH-2 only)\n");
     printf("  -N        don't start a shell/command (SSH-2 only)\n");
@@ -625,7 +629,7 @@ int main(int argc, char **argv)
                errors = 1;
            }
        } else if (*p) {
-           if (!*cfg.host) {
+           if (!cfg_launchable(&cfg)) {
                char *q = p;
 
                /*
@@ -699,7 +703,7 @@ int main(int argc, char **argv)
                    {
                        Config cfg2;
                        do_defaults(host, &cfg2);
-                       if (loaded_session || cfg2.host[0] == '\0') {
+                       if (loaded_session || !cfg_launchable(&cfg2)) {
                            /* No settings for this host; use defaults */
                            /* (or session was already loaded with -load) */
                            strncpy(cfg.host, host, sizeof(cfg.host) - 1);
@@ -753,7 +757,7 @@ int main(int argc, char **argv)
     if (errors)
        return 1;
 
-    if (!*cfg.host) {
+    if (!cfg_launchable(&cfg)) {
        usage();
     }
 
@@ -897,7 +901,7 @@ int main(int argc, char **argv)
        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. */
@@ -1012,7 +1016,7 @@ int main(int argc, char **argv)
            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");
@@ -1037,7 +1041,7 @@ int main(int argc, char **argv)
            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 */