[PATCH] Fix +x-related show-diff false positives
authorPetr Baudis <pasky@ucw.cz>
Sun, 17 Apr 2005 17:04:48 +0000 (10:04 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 17 Apr 2005 17:04:48 +0000 (10:04 -0700)
This fixes show-diff listing all +x files as differring.

Signed-off-by: Petr Baudis <pasky@ucw.cz>
[ That's what I get for working on a G5 - my testing was all
  big-endian in the first place.  -- Linus ]

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
read-cache.c

index 03d49e1..042b0c2 100644 (file)
@@ -304,7 +304,7 @@ int cache_match_stat(struct cache_entry *ce, struct stat *st)
            ce->ce_gid != htonl(st->st_gid))
                changed |= OWNER_CHANGED;
        /* We consider only the owner x bit to be relevant for "mode changes" */
-       if (0100 & (ntohs(ce->ce_mode) ^ st->st_mode))
+       if (0100 & (ntohl(ce->ce_mode) ^ st->st_mode))
                changed |= MODE_CHANGED;
        if (ce->ce_dev != htonl(st->st_dev) ||
            ce->ce_ino != htonl(st->st_ino))