Add make, model, serial to high-level API, and tests
This MR depends on !107 (merged) for no reason.
This series starts with the controversial str_printf()
helper. This is one way to implement it, open_memstream()
would be another.
I add high-level functions that currently report exactly what Weston parses from EDID, but with provision to do better. I have a Weston patch to make use of them, and the results are identical to the old parsing code.
Next I add a new type of test for each EDID blob that records and compares the high-level API results, making sure they don't change accidentally.
The most important topic here is to make sure the new API functions are good for other compositors as well, if they use this information.
Note: these functions should not be used to implement colord device id, I intend to make another API function specifically for that.