summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Verkuil <hansverk@cisco.com>2017-08-31 13:41:14 +0200
committerAdam Jackson <ajax@redhat.com>2017-09-07 12:13:33 -0400
commit1ea2b1fef85cdaba11db519eda8c4e1d294022be (patch)
tree25c60c8882cc63eced3e30f4d9190faf5d70e633
parent4f30798e0306309add1f273bb9aca7f5a00c8464 (diff)
edid-decode: improve the hex dump parser to be more generic
Allow for spaces and '0x' prefixes. Signed-off-by: Hans Verkuil <hansverk@cisco.com>
-rw-r--r--edid-decode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/edid-decode.c b/edid-decode.c
index 58dc1c1..d38d2a3 100644
--- a/edid-decode.c
+++ b/edid-decode.c
@@ -1976,7 +1976,7 @@ extract_edid(int fd)
}
/* Is the EDID provided in hex? */
- for (i = 0; i < 32 && isxdigit(ret[i]); i++);
+ for (i = 0; i < 32 && (isspace(ret[i]) || tolower(ret[i]) == 'x' || isxdigit(ret[i])); i++);
if (i == 32) {
out = malloc(size >> 1);
if (out == NULL) {
@@ -1987,7 +1987,7 @@ extract_edid(int fd)
for (c=ret; *c; c++) {
char buf[3];
- if (*c == '\n')
+ if (!isxdigit(*c) || (*c == '0' && tolower(c[1]) == 'x'))
continue;
/* Read a %02x from the log */