On Wed, 2017-12-13 at 17:35 +0100, Pino Toscano wrote:
> + if (!prefix) {
> + VIR_WARN("Parser for /proc/cpuinfo needs to be adapted for your
architecture");
> + return 1;
I'd print the architecture in the warning, so sysadmins can see easily
which architecture it is, even when looking at logs collected from
different libvirt installations.
Sure.
> + while (fgets(line, sizeof(line), cpuinfo) != NULL) {
> + if (!STRPREFIX(line, prefix))
> + continue;
IMHO here it would be a good idea to check that line[strlen(prefix)]
is either a space or ':', to avoid prefix matching more keys than the
actual intended one(s) -- something like:
char c = line[strlen(prefix)];
if (c != ':' && !c_isspace(*str))
continue;
We skip the prefix and pass the rest of the line to
virHostCPUParseFrequencyString(), which starts by skipping all
whitespace and then checking the first non-whitespace character
is a semicolon. So I don't see how we could end up matching
anything but the intended line.
--
Andrea Bolognani / Red Hat / Virtualization