From 46e8b5fbde22766870c3e3c7f472dc30c70afc31 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Mon, 1 Jun 2020 20:04:02 -0400 Subject: [PATCH] Fixed bug in previous commit which was writing junk to end of directories --- sortdir.c | 7 ++++--- sortdir.po | Bin 143360 -> 143360 bytes 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sortdir.c b/sortdir.c index c12400b..5f3a88b 100644 --- a/sortdir.c +++ b/sortdir.c @@ -26,6 +26,7 @@ * v0.64 Fixed overflow in file count (entries). Added check to auxalloc(). * v0.65 Fixed length passed to AUXMOVE in copyaux(). * v0.66 Modified to build sorted blocks on the fly rather than in aux memory. + * v0.67 Fixed bug in v0.66 where garbage was written to end of directory. */ //#pragma debug 9 @@ -1729,8 +1730,6 @@ void copydirblkptrs(uint idx) { struct block *p = blocks; for (i = 1; i < idx; ++i) p = p->next; - //while (--blkidx > 0) - // b = b->next; bzero(dirblkbuf, BLKSZ); #ifdef AUXMEM copyaux(p->data, dirblkbuf, PTRSZ, FROMAUX); @@ -1804,6 +1803,8 @@ void sortblock(uint device, uint dstblk) { firstlistent = (dstblk - 1) * entperblk - 1; lastlistent = firstlistent + entperblk - 1; } + if (lastlistent > numfiles - 1) + lastlistent = numfiles - 1; for (i = firstlistent; i <= lastlistent; ++i) { copydirent(filelist[i].blockidx, filelist[i].entrynum, dstblk, destentry++, device); @@ -1850,7 +1851,7 @@ void interactive(void) { doverbose = 1; - puts("S O R T D I R v0.66 alpha Use ^ to return to previous question"); + puts("S O R T D I R v0.67 alpha Use ^ to return to previous question"); q1: fputs("\nEnter path (e.g.: /H1) of starting directory> ", stdout); diff --git a/sortdir.po b/sortdir.po index 6ee86c25510dba287375fddf4259be0800cfc029..85e93537765486d5de74e1ff2be137e4f76270b2 100644 GIT binary patch delta 22452 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 delta 22379 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