From d583ae698d8cee05a02f75383877566535ca6cad Mon Sep 17 00:00:00 2001 From: Jacob Nevins Date: Sun, 16 Jul 2023 16:01:02 +0100 Subject: [PATCH 1/3] docs: Tiny improvements to log file name docs. Note that &H type substitutions are case-insensitive, and fix a typo. --- doc/config.but | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/config.but b/doc/config.but index 488c157e..96f73396 100644 --- a/doc/config.but +++ b/doc/config.but @@ -219,7 +219,9 @@ digits. \b \c{&P} will be replaced by the port number you are connecting to on the target host. -For example, if you enter the host name +(These are all case-insensitive.) + +For example, if you enter the file name \c{c:\\puttylogs\\log-&h-&y&m&d-&t.dat}, you will end up with files looking like From 209cf8013bc71ed739054f013062b44feea157d8 Mon Sep 17 00:00:00 2001 From: Jacob Nevins Date: Sun, 16 Jul 2023 16:00:29 +0100 Subject: [PATCH 2/3] Add missing consts around xlatlognam(). --- logging.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/logging.c b/logging.c index e065f1a4..ff687cb7 100644 --- a/logging.c +++ b/logging.c @@ -22,8 +22,9 @@ struct LogContext { int logtype; /* cached out of conf */ }; -static Filename *xlatlognam(Filename *s, char *hostname, int port, - struct tm *tm); +static Filename *xlatlognam(const Filename *s, + const char *hostname, int port, + const struct tm *tm); /* * Internal wrapper function which must be called for _all_ output @@ -451,10 +452,12 @@ void log_reconfig(LogContext *ctx, Conf *conf) * * "&Y":YYYY "&m":MM "&d":DD "&T":hhmmss "&h": "&&":& */ -static Filename *xlatlognam(Filename *src, char *hostname, int port, - struct tm *tm) +static Filename *xlatlognam(const Filename *src, + const char *hostname, int port, + const struct tm *tm) { - char buf[32], *bufp; + char buf[32]; + const char *bufp; int size; strbuf *buffer; const char *s; From c406d8efe539b165cd3386a6bf1ae3e5ee6ebc83 Mon Sep 17 00:00:00 2001 From: Jacob Nevins Date: Sun, 16 Jul 2023 16:03:24 +0100 Subject: [PATCH 3/3] logging: allow &H to expand to serial line. For serial connections, &H generally expanded to the empty string. This seems more useful. (It so happens that &H _could_ expand to the serial line if it came from the command-line, but that's accidental.) --- doc/config.but | 3 ++- logging.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/config.but b/doc/config.but index 96f73396..1990a92a 100644 --- a/doc/config.but +++ b/doc/config.but @@ -214,7 +214,8 @@ digits. \b \c{&T} will be replaced by the current time, as six digits (HHMMSS) with no punctuation. -\b \c{&H} will be replaced by the host name you are connecting to. +\b \c{&H} will be replaced by the host name you are connecting to +(or the serial line, for a serial connection). \b \c{&P} will be replaced by the port number you are connecting to on the target host. diff --git a/logging.c b/logging.c index ff687cb7..031aae4a 100644 --- a/logging.c +++ b/logging.c @@ -174,7 +174,7 @@ void logfopen(LogContext *ctx) filename_free(ctx->currlogfilename); ctx->currlogfilename = xlatlognam(conf_get_filename(ctx->conf, CONF_logfilename), - conf_get_str(ctx->conf, CONF_host), + conf_dest(ctx->conf), /* hostname or serial line */ conf_get_int(ctx->conf, CONF_port), &tm); if (open_for_write_would_lose_data(ctx->currlogfilename)) {