From: Mauro Carvalho Chehab Date: Thu, 15 Aug 2013 15:43:02 +0000 (-0300) Subject: ras-mc-ctl: Improve parser X-Git-Tag: v0.4.2~5 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=099af4056912faa28bf1385fffa77e7bbb468b93;p=users%2Fmchehab%2Frasdaemon.git ras-mc-ctl: Improve parser Accept either . or : as layers separator at config files. Signed-off-by: Mauro Carvalho Chehab --- diff --git a/util/ras-mc-ctl.in b/util/ras-mc-ctl.in index 48d9b00..f5a8ce5 100755 --- a/util/ras-mc-ctl.in +++ b/util/ras-mc-ctl.in @@ -481,14 +481,14 @@ sub parse_dimm_labels_file next unless (my ($label, $info) = ($str =~ /^(.*)\s*:\s*(.*)$/i)); - unless ($info =~ /\d+(?:\.\d+)*/) { + unless ($info =~ /\d+(?:[\.\:]\d+)*/) { log_error ("$file: $line: Invalid syntax, ignoring: \"$_\"\n"); next; } for my $target (split (/[, ]+/, $info)) { my $n; - my ($mc, $top, $mid, $low, $extra) = ($target =~ /(\d+)(?:\.(\d+)){0,1}(?:\.(\d+)){0,1}(?:\.(\d+)){0,1}(?:\.(\d+)){0,1}/); + my ($mc, $top, $mid, $low, $extra) = ($target =~ /(\d+)(?:[\.\:](\d+)){0,1}(?:[\.\:](\d+)){0,1}(?:[\.\:](\d+)){0,1}(?:[\.\:](\d+)){0,1}/); if (defined($extra)) { die ("Error: Only up to 3 layers are currently supported on label db \"$file\"\n");