extract_string in edid-decode currently only returns characters that
pass isalnum(). This causes an error when trying to parse the name of my
A/V receiver, which is "HT-R791". The VESA E-DID standard states that
normal ASCII is allowed for this field, not just alphanumeric
characters. Patch below changes to using isgraph() which will allow
anything printable.

Signed-off-by: Jonathan McDowell <[email protected]>

-----
diff --git a/edid-decode.c b/edid-decode.c
index 9840db6..a714e49 100644
--- a/edid-decode.c
+++ b/edid-decode.c
@@ -145,7 +145,7 @@ extract_string(unsigned char *x, int *valid_termination, 
int len)
     memset(ret, 0, sizeof(ret));
 
     for (i = 0; i < len; i++) {
-       if (isalnum(x[i])) {
+       if (isgraph(x[i])) {
            ret[i] = x[i];
        } else if (!seen_newline) {
            if (x[i] == 0x0a) {
-----

J.

-- 
101 things you can't have too much of : 36 - Spare video tapes.
This .sig brought to you by the letter E and the number 49
Product of the Republic of HuggieTag
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to