From: Andreas Neiser Date: Wed, 21 May 2014 07:29:56 +0000 (+0200) Subject: Improving logic of intelligent data reader a little bit X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=38fcf39eb7f7e7be46e2cc18675fde47185d5a13;p=daqtools.git Improving logic of intelligent data reader a little bit --- diff --git a/xml-db/get.pl b/xml-db/get.pl index 4699eb3..fda74de 100755 --- a/xml-db/get.pl +++ b/xml-db/get.pl @@ -296,8 +296,11 @@ sub requestdata { print "Slice number out of range.\n"; return -1; } + + # only read "readable" objects (matches 'r' and 'rw') + return unless $obj->{mode} =~ /r/; - if($obj->{type} eq "group" && $obj->{mode} =~ /r/) { + if($obj->{type} eq "group") { if(defined $obj->{continuous} && $obj->{continuous} eq "true") { my $stepsize = $obj->{stepsize} || 1; my $size = $obj->{size}; @@ -318,8 +321,7 @@ sub requestdata { } } } - elsif(($obj->{type} eq "register" || $obj->{type} eq "registerfield" - || $obj->{type} eq "field") && $obj->{mode} =~ /r/) { + elsif($obj->{type} =~ /^(register|field|registerfield)$/) { # matches register, registerfield, field my $stepsize = $obj->{stepsize} || 1; $slice = 0 unless defined $slice; do {