]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Minor improvements to error reporting in logging.
authorJacob Nevins <jacobn@chiark.greenend.org.uk>
Sun, 30 Aug 2009 11:09:22 +0000 (11:09 +0000)
committerJacob Nevins <jacobn@chiark.greenend.org.uk>
Sun, 30 Aug 2009 11:09:22 +0000 (11:09 +0000)
[originally from svn r8637]

logging.c

index 49269ec3c949efcd5a63044304a03f6ac83b4a1c..7c9b1287d4a684746572b7dccc17e55771009d9b 100644 (file)
--- a/logging.c
+++ b/logging.c
@@ -46,6 +46,9 @@ static void logwrite(struct LogContext *ctx, void *data, int len)
        if (fwrite(data, 1, len, ctx->lgfp) < len) {
            logfclose(ctx);
            ctx->state = L_ERROR;
+           /* Log state is L_ERROR so this won't cause a loop */
+           logevent(ctx->frontend,
+                    "Disabled writing session log due to error while writing");
        }
     }                                 /* else L_ERROR, so ignore the write */
 }
@@ -104,8 +107,9 @@ static void logfopen_callback(void *handle, int mode)
     }
 
     event = dupprintf("%s session log (%s mode) to file: %s",
-                     (mode == 0 ? "Disabled writing" :
-                       mode == 1 ? "Appending" : "Writing new"),
+                     ctx->state == L_ERROR ?
+                     (mode == 0 ? "Disabled writing" : "Error writing") :
+                     (mode == 1 ? "Appending" : "Writing new"),
                      (ctx->cfg.logtype == LGTYP_ASCII ? "ASCII" :
                       ctx->cfg.logtype == LGTYP_DEBUG ? "raw" :
                       ctx->cfg.logtype == LGTYP_PACKETS ? "SSH packets" :