diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2017-09-09 12:08:19 +0200 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2017-09-18 10:16:47 -0400 |
commit | 51803d2bdc6f34b0ec82ea6a53fe30e73f937c8b (patch) | |
tree | f8b7472ac610d43a56dd1ef6720a789896db2b11 | |
parent | 60a67872f213fda03df4968ca61d2eb17a8cb8a8 (diff) |
edid-decode: fix broken bit tests
'if (x[0] >> i)' is not how you test if bit i is set.
'if (x[0] & (1 << i))' works a lot better!
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
-rw-r--r-- | edid-decode.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/edid-decode.c b/edid-decode.c index 7aaeace..0c93d10 100644 --- a/edid-decode.c +++ b/edid-decode.c @@ -1638,7 +1638,7 @@ cea_colorimetry_block(unsigned char *x) if (length >= 3) { for (i = 0; i < ARRAY_SIZE(colorimetry_map); i++) { - if (x[2] >> i) + if (x[2] & (1 << i)) printf(" %s\n", colorimetry_map[i]); } } @@ -1659,14 +1659,14 @@ cea_hdr_metadata_block(unsigned char *x) if (length >= 3) { printf(" Electro optical transfer functions:\n"); for (i = 0; i < 6; i++) { - if (x[2] >> i) { + if (x[2] & (1 << i)) { printf(" %s\n", i < ARRAY_SIZE(eotf_map) ? eotf_map[i] : "Unknown"); } } printf(" Supported static metadata descriptors:\n"); for (i = 0; i < 8; i++) { - if (x[3] >> i) + if (x[3] & (1 << i)) printf(" Static metadata type %d\n", i + 1); } } |