diff options
author | Hans Verkuil <hansverk@cisco.com> | 2017-08-31 13:41:14 +0200 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2017-09-07 12:13:33 -0400 |
commit | 1ea2b1fef85cdaba11db519eda8c4e1d294022be (patch) | |
tree | 25c60c8882cc63eced3e30f4d9190faf5d70e633 | |
parent | 4f30798e0306309add1f273bb9aca7f5a00c8464 (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.c | 4 |
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 */ |