diff options
Diffstat (limited to 'samples/statx/test-statx.c')
| -rw-r--r-- | samples/statx/test-statx.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/samples/statx/test-statx.c b/samples/statx/test-statx.c index 8571d766331d..d4d77b09412c 100644 --- a/samples/statx/test-statx.c +++ b/samples/statx/test-statx.c | |||
| @@ -141,8 +141,8 @@ static void dump_statx(struct statx *stx) | |||
| 141 | if (stx->stx_mask & STATX_BTIME) | 141 | if (stx->stx_mask & STATX_BTIME) |
| 142 | print_time(" Birth: ", &stx->stx_btime); | 142 | print_time(" Birth: ", &stx->stx_btime); |
| 143 | 143 | ||
| 144 | if (stx->stx_attributes) { | 144 | if (stx->stx_attributes_mask) { |
| 145 | unsigned char bits; | 145 | unsigned char bits, mbits; |
| 146 | int loop, byte; | 146 | int loop, byte; |
| 147 | 147 | ||
| 148 | static char attr_representation[64 + 1] = | 148 | static char attr_representation[64 + 1] = |
| @@ -160,14 +160,18 @@ static void dump_statx(struct statx *stx) | |||
| 160 | printf("Attributes: %016llx (", stx->stx_attributes); | 160 | printf("Attributes: %016llx (", stx->stx_attributes); |
| 161 | for (byte = 64 - 8; byte >= 0; byte -= 8) { | 161 | for (byte = 64 - 8; byte >= 0; byte -= 8) { |
| 162 | bits = stx->stx_attributes >> byte; | 162 | bits = stx->stx_attributes >> byte; |
| 163 | mbits = stx->stx_attributes_mask >> byte; | ||
| 163 | for (loop = 7; loop >= 0; loop--) { | 164 | for (loop = 7; loop >= 0; loop--) { |
| 164 | int bit = byte + loop; | 165 | int bit = byte + loop; |
| 165 | 166 | ||
| 166 | if (bits & 0x80) | 167 | if (!(mbits & 0x80)) |
| 168 | putchar('.'); /* Not supported */ | ||
| 169 | else if (bits & 0x80) | ||
| 167 | putchar(attr_representation[63 - bit]); | 170 | putchar(attr_representation[63 - bit]); |
| 168 | else | 171 | else |
| 169 | putchar('-'); | 172 | putchar('-'); /* Not set */ |
| 170 | bits <<= 1; | 173 | bits <<= 1; |
| 174 | mbits <<= 1; | ||
| 171 | } | 175 | } |
| 172 | if (byte) | 176 | if (byte) |
| 173 | putchar(' '); | 177 | putchar(' '); |
