Closed verb closed 3 years ago
Hmmm, similar to #444 if I disable AT_SYMLINK_NOFOLLOW
it works:
$ git diff
diff --git a/lib/cfg.c b/lib/cfg.c
index 92b02136..e46756e2 100644
--- a/lib/cfg.c
+++ b/lib/cfg.c
@@ -109,7 +109,7 @@ guint rm_cfg_add_path(RmCfg *cfg, bool is_prefd, const char *path) {
int rc = 0;
#if HAVE_FACCESSAT
- rc = faccessat(AT_FDCWD, path, R_OK, AT_EACCESS|AT_SYMLINK_NOFOLLOW);
+ rc = faccessat(AT_FDCWD, path, R_OK, AT_EACCESS);
#else
rc = access(path, R_OK);
#endif
$ mkdir d && ./rmlint d
# Empty dir(s):
rmdir '/home/lee/src/rmlint/d'
==> 1 file(s) after investigation, nothing to search through.
Yes, looks like it was fixed in https://github.com/sahib/rmlint/commit/a726d0cbf839d7a0f35962d67e0f60054d0364f6.
Are you able to compile from develop branch and re-check? I don't have a box running FreeBSD at the moment.
Oh! I didn't notice develop branch. Yup, confirmed that this is fixed in develop.
Thanks @SeeSpotRun for the quick response and awesome tool! :+1:
I compiled
v2.10.1
on FreeBSD12.2-RELEASE-p3
using the instructions at https://rmlint.readthedocs.io/en/latest/install.html, butrmlint
doesn't seem to work:It appears to be a problem with FreeBSD's
faccessat
, because it works if I recompile withHAVE_FACCESSAT=0
:The affected version of rmlint is:
444 seems related, but I couldn't quite follow the resolution.