It's a new year.
[sgt/putty] / unix / uxplink.c
index fc8100c..85f5352 100644 (file)
@@ -130,14 +130,12 @@ FontSpec *platform_default_fontspec(const char *name)
     return fontspec_new("");
 }
 
-Filename platform_default_filename(const char *name)
+Filename *platform_default_filename(const char *name)
 {
-    Filename ret;
     if (!strcmp(name, "LogFileName"))
-       strcpy(ret.path, "putty.log");
+       return filename_from_str("putty.log");
     else
-       *ret.path = '\0';
-    return ret;
+       return filename_from_str("");
 }
 
 char *x_get_default(const char *key)
@@ -587,6 +585,8 @@ static void version(void)
     exit(1);
 }
 
+void frontend_net_error_pending(void) {}
+
 int main(int argc, char **argv)
 {
     int sending;
@@ -888,6 +888,12 @@ int main(int argc, char **argv)
        conf_set_int(conf, CONF_port, portnumber);
 
     /*
+     * Block SIGPIPE, so that we'll get EPIPE individually on
+     * particular network connections that go wrong.
+     */
+    putty_signal(SIGPIPE, SIG_IGN);
+
+    /*
      * Set up the pipe we'll use to tell us about SIGWINCH.
      */
     if (pipe(signalpipe) < 0) {
@@ -1103,6 +1109,8 @@ int main(int argc, char **argv)
            back->unthrottle(backhandle, try_output(TRUE));
        }
 
+        net_pending_errors();
+
        if ((!connopen || !back->connected(backhandle)) &&
            bufchain_size(&stdout_data) == 0 &&
            bufchain_size(&stderr_data) == 0)