From d2c554ee0deeb64a805549d230ff8467ff6601f4 Mon Sep 17 00:00:00 2001 From: Nicholas Date: Mon, 15 Nov 2021 18:43:12 -0800 Subject: Fix: Qsort had bad macro capture --- include/base/macro/qsort.h | 6 +++--- src/base/fs/walk.c | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/base/macro/qsort.h b/include/base/macro/qsort.h index 6d0acaa..46779d4 100644 --- a/include/base/macro/qsort.h +++ b/include/base/macro/qsort.h @@ -2,7 +2,7 @@ /* * Nicholas Noll (2020) - * Straight implementation of Sedgewick's median qsort + * Straight implementation of Sedgewick's median qsort * #ref: "Implementing Quicksort Programs" (1978) * * @LEN: name of parameter length @@ -27,7 +27,7 @@ \ if (LEN <= 14) goto ENDOUTER; \ OUTERLOOP: \ - SWAP((l+r)/2, l+1); \ + QSWAP((l+r)/2, l+1); \ \ if (QLESS(r, l+1)) QSWAP(r, l+1); \ if (QLESS(r, l)) QSWAP(r, l); \ @@ -88,4 +88,4 @@ ENDOUTER: \ for (j = i; j > 0 && QLESS(j, j-1); j--) { \ QSWAP(j, j-1); \ } \ - } + } diff --git a/src/base/fs/walk.c b/src/base/fs/walk.c index d528896..8842633 100644 --- a/src/base/fs/walk.c +++ b/src/base/fs/walk.c @@ -57,25 +57,25 @@ fs·walk(fs·Walker *fs) /* have we been here before? (cycle detection) */ /* if not, add to our path history */ - if (!(fs->flags & fs·nolinks)) { + if(!(fs->flags & fs·nolinks)){ addentry(fs->hist, (struct Key){.dev=cwd.st_dev, .ino=cwd.st_ino}, &new); if (!new) return; } - /* + /* * operate on directory first if preorder traversal * truncate recursion if callback returns an error code - */ - if (fs->flags & fs·preorder) { - if (fs->func(fs->data, fs->base, fs->path, &cwd)) + */ + if(fs->flags & fs·preorder){ + if(fs->func(fs->data, fs->base, fs->path, &cwd)) return; } /* open directory */ if(!fs->max || fs->lev + 1 < fs->max) { fd = openat(fs->fd, fs->base, O_RDONLY | O_CLOEXEC | O_DIRECTORY); - if (fd < 0) + if(fd < 0) errorf("open %s:", fs->path); if (!(dir=fdopendir(fd))) { -- cgit v1.2.1