diff options
-rw-r--r-- | src/include/edid.h | 3 | ||||
-rw-r--r-- | src/lib/edid.c | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/include/edid.h b/src/include/edid.h index 100dbe9ba3..1eb8c4d306 100644 --- a/src/include/edid.h +++ b/src/include/edid.h @@ -53,6 +53,8 @@ struct edid_mode { * unsigned int. We can move more into into this struct as needed. */ +#define EDID_ASCII_STRING_LENGTH 13 + struct edid { /* These next three things used to all be called bpp. * Merriment ensued. The identifier @@ -89,6 +91,7 @@ struct edid { u32 bytes_per_line; int hdmi_monitor_detected; + char ascii_string[EDID_ASCII_STRING_LENGTH + 1]; }; enum edid_status { diff --git a/src/lib/edid.c b/src/lib/edid.c index 7b7098a0e8..405b3fdbc1 100644 --- a/src/lib/edid.c +++ b/src/lib/edid.c @@ -470,9 +470,11 @@ detailed_block(struct edid *result_edid, unsigned char *x, int in_extension, * slots, seems to be specified by SPWG: * http://www.spwg.org/ */ + strcpy(result_edid->ascii_string, extract_string(x + 5, + &c->has_valid_string_termination, + EDID_ASCII_STRING_LENGTH)); printk(BIOS_SPEW, "ASCII string: %s\n", - extract_string(x + 5, - &c->has_valid_string_termination, 13)); + result_edid->ascii_string); return 1; case 0xFF: printk(BIOS_SPEW, "Serial number: %s\n", |