On 25/09/2021 07:07, Chris Webb wrote:
Thanks for the analysis and patch.
I've already pushed a very similar patch at:
https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=e8b56ebd5

Many thanks!

With the above fix, do we also need something like

@@ -300,7 +300,7 @@ process_file (FTS *fts, FTSENT *ent)
          describe_change (file_full_name, &ch);
      }
- if (CH_NO_CHANGE_REQUESTED <= ch.status && diagnose_surprises)
+  if (CH_NOT_APPLIED <= ch.status && diagnose_surprises)
      {
        mode_t naively_expected_mode =
          mode_adjust (ch.old_mode, S_ISDIR (ch.old_mode) != 0, 0, change, 
NULL);

in the diagnose_surprises stanza, to avoid checking every symlink we skip for
unexpected permissions?


CH_NOT_APPLIED is smaller than CH_NO_CHANGE_REQUESTED
in the current enum ordering, so we skip this
block as expected for the ignored symlink case.

cheers,
Pádraig



Reply via email to