diff options
| author | B. Watson <urchlay@slackware.uk> | 2025-12-16 14:33:33 -0500 |
|---|---|---|
| committer | B. Watson <urchlay@slackware.uk> | 2025-12-16 14:39:00 -0500 |
| commit | 9b144d3c9b3e40dd7d2187204f0c2ddd63711604 (patch) | |
| tree | 17d4eb8e03d6aab56e34a9f9d61bca6c95c50cb7 | |
| parent | 7692ac8aac07453c7ed3a40b5cc9519ba024a94a (diff) | |
| download | alftools-9b144d3c9b3e40dd7d2187204f0c2ddd63711604.tar.gz | |
unalf: escape filename in error messages.
| -rw-r--r-- | CHANGES.txt | 3 | ||||
| -rw-r--r-- | src/extract.c | 13 |
2 files changed, 12 insertions, 4 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index 2aa7862..3d33ba7 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,6 @@ +0.4.1: +- unalf won't print unprintable characters in error messages. + 0.4.0: - alf and unalf now detect duplicate Atari filenames. - alf lets the user set the archive filename for each file (file=FILE, e.g.) diff --git a/src/extract.c b/src/extract.c index a604805..02bd81c 100644 --- a/src/extract.c +++ b/src/extract.c @@ -185,9 +185,12 @@ void extract_alf(void) { new_file = 1; uncrunch_file(); if(bad_checksum) bad_checksum_count++; - if(bytes_written != getquad(alf_hdr_origsize0)) - fprintf(stderr, "%s: %s should be %u bytes, but extracted to %u.\n", - self, out_filename, getquad(alf_hdr_origsize0), bytes_written); + if(bytes_written != getquad(alf_hdr_origsize0)) { + fprintf(stderr, "%s: ", self); + safe_print_filename(out_filename, stderr); + fprintf(stderr, " should be %u bytes, but extracted to %u.\n", + getquad(alf_hdr_origsize0), bytes_written); + } if(!opts.extract_to_stdout) { fclose(out_file); @@ -213,7 +216,9 @@ void extract_alf(void) { void chksum_err(void) { bad_checksum = 1; - fprintf(stderr, "%s: checksum error on %s\n", self, out_filename); + fprintf(stderr, "%s: checksum error on ", self); + safe_print_filename(out_filename, stderr); + fputc('\n', stderr); } void truncated_err(void){ |
