From c0bc883bcfca5791ea64d488caf359a2c8de4360 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Fri, 12 Dec 2025 17:15:22 -0500 Subject: Do not print unprintable characters in filenames. --- src/sanity.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/sanity.c') diff --git a/src/sanity.c b/src/sanity.c index c542aec..dbcf57a 100644 --- a/src/sanity.c +++ b/src/sanity.c @@ -5,7 +5,7 @@ extern const char *self; -void bad_atari_filename(const char *fname, const char *msg) { +int safe_print_filename(const char *fname, FILE *fh) { char fn[50] = ""; char xbuf[5]; int i; @@ -21,7 +21,14 @@ void bad_atari_filename(const char *fname, const char *msg) { } } - fprintf(stderr, "%s: warning: bad Atari filename \"%s\": %s\n", self, fn, msg); + fputs(fn, fh); + return strlen(fn); +} + +void bad_atari_filename(const char *fname, const char *msg) { + fprintf(stderr, "%s: warning: bad Atari filename \"", self); + safe_print_filename(fname, stderr); + fprintf(stderr, "\": %s\n", msg); } /* note to self: it's tempting to use isalpha(), isprint(), etc -- cgit v1.2.3