]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - unix/uxplink.c
Unix buildinfo: stop saying 'GTK' in pure CLI utilities.
[PuTTY.git] / unix / uxplink.c
index c3a1b8ca8886c75fa3ce527cfb922921e4b18d34..2d4259b91abd5e80ae955c8f1047a38777f632f1 100644 (file)
@@ -305,6 +305,9 @@ char *get_ttymode(void *frontend, const char *mode)
 #endif
 #if defined(XCASE)
     GET_BOOL("XCASE", XCASE, c_lflag, );
+#endif
+#if defined(IUTF8)
+    GET_BOOL("IUTF8", IUTF8, c_iflag, );
 #endif
     /* Configuration of ECHO */
 #if defined(ECHOCTL)
@@ -555,6 +558,8 @@ static void usage(void)
     printf("  -P port   connect to specified port\n");
     printf("  -l user   connect with specified username\n");
     printf("  -batch    disable all interactive prompts\n");
+    printf("  -proxycmd command\n");
+    printf("            use 'command' as local proxy\n");
     printf("  -sercfg configuration-string (e.g. 19200,8,n,1,X)\n");
     printf("            Specify the serial configuration (serial only)\n");
     printf("The following options only apply to SSH connections:\n");
@@ -591,8 +596,10 @@ static void usage(void)
 
 static void version(void)
 {
-    printf("plink: %s\n", ver);
-    exit(1);
+    char *buildinfo_text = buildinfo("\n");
+    printf("plink: %s\n%s\n", ver, buildinfo_text);
+    sfree(buildinfo_text);
+    exit(0);
 }
 
 void frontend_net_error_pending(void) {}
@@ -600,6 +607,8 @@ void frontend_net_error_pending(void) {}
 const int share_can_be_downstream = TRUE;
 const int share_can_be_upstream = TRUE;
 
+const int buildinfo_gtk_relevant = FALSE;
+
 int main(int argc, char **argv)
 {
     int sending;
@@ -949,6 +958,8 @@ int main(int argc, char **argv)
     /* We don't want the signal handler to block if the pipe's full. */
     nonblock(signalpipe[0]);
     nonblock(signalpipe[1]);
+    cloexec(signalpipe[0]);
+    cloexec(signalpipe[1]);
     putty_signal(SIGWINCH, sigwinch);
 
     /*
@@ -1117,6 +1128,9 @@ int main(int argc, char **argv)
             ret = select(maxfd, &rset, &wset, &xset, NULL);
         }
 
+        if (ret < 0 && errno == EINTR)
+            continue;
+
        if (ret < 0) {
            perror("select");
            exit(1);