]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
Improving logic of intelligent data reader a little bit
authorAndreas Neiser <neiser@kph.uni-mainz.de>
Wed, 21 May 2014 07:29:56 +0000 (09:29 +0200)
committerAndreas Neiser <neiser@kph.uni-mainz.de>
Wed, 21 May 2014 13:30:10 +0000 (15:30 +0200)
xml-db/get.pl

index 4699eb3d38fe6c30713224fb646c4e9d022b6e68..fda74deabaa2e9d8b873cba7f57dca834f210eee 100755 (executable)
@@ -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 {