]> www.infradead.org Git - users/mchehab/rasdaemon.git/commitdiff
ras-mc-ctl: Improve parser
authorMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 15 Aug 2013 15:43:02 +0000 (12:43 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 15 Aug 2013 15:44:08 +0000 (12:44 -0300)
Accept either . or : as layers separator at config files.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
util/ras-mc-ctl.in

index 48d9b00136b15fa480c94a0677d1c1c572c260fa..f5a8ce5d88a9151f71e2b16cd5c257047ca5282a 100755 (executable)
@@ -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");