From b131648b6e35d187304e1e1092c39e79347fcdca Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Sun, 7 Jun 2020 13:51:34 -0400 Subject: [PATCH] Fixed crash when there are too many files in a dir to sort --- sortdir.c | 12 +++++++----- sortdir.po | Bin 143360 -> 143360 bytes 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sortdir.c b/sortdir.c index de28410..60efc61 100644 --- a/sortdir.c +++ b/sortdir.c @@ -4,8 +4,8 @@ * Bobbi January-June 2020 * * TODO: Fix bug - blocks used count is incorrect. - * TODO: Fix bug - when 'too many files' should skip dir and continue. - * Right now it tries to sort, then hangs. + * TODO: Fix bug - if too many files in a directory the blocks of the remaining + * files are not marked as used. * TODO: zeroblock() is NO-OP at present * TODO: Need code to write out modified freelist if there are fixes * TODO: Get both ProDOS-8 and GNO versions to build from this source @@ -37,6 +37,7 @@ * v0.72 Initial support for freelist and usedlist in aux mem. (Slow!) * v0.73 Speedup to checkfreeandused(); * v0.74 Eliminate no-op sort. + * v0.75 Fix bug - crash when too many files to sort. */ //#pragma debug 9 @@ -246,7 +247,7 @@ static const char err_forksz3[] = "%s fork size %u is wrong, should be %u"; static const char err_used2[] = "Blks used %u is wrong, should be %u"; static const char err_many[] = "Too many files to sort"; static const char err_count2[] = "Filecount %u wrong, should be %u"; -static const char err_nosort[] = "Errors ... will not sort"; +static const char err_nosort[] = "Not sorting due to errors"; #ifdef FREELIST static const char err_rdfl[] = "Can't read free list"; static const char err_blfree1[] = "In use blk %u is marked free"; @@ -1932,7 +1933,7 @@ void interactive(void) { revers(1); hlinechar(' '); - fputs("S O R T D I R v0.74 alpha Use ^ to return to previous question", stdout); + fputs("S O R T D I R v0.75 alpha Use ^ to return to previous question", stdout); hlinechar(' '); revers(0); @@ -2052,8 +2053,9 @@ void processdir(uint device, uint blocknum) { uchar i, errs; flushall(); errs = readdir(device, blocknum); - if ((strlen(fixopts) == 0) && errs) { + if (errs != 0) { err(NONFATAL, err_nosort); + putchar('\n'); goto done; } #ifdef SORT diff --git a/sortdir.po b/sortdir.po index 4e33d8ce0171172c13f0665e8d8b7c66d2d004ee..77d988f3e979acf0840e99cf3f3763e708f6e95c 100644 GIT binary patch delta 26204 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 Xnpuu7bih1T{rt<5KmU@FHsb#Qbfbwf