From 38fcf39eb7f7e7be46e2cc18675fde47185d5a13 Mon Sep 17 00:00:00 2001 From: Andreas Neiser Date: Wed, 21 May 2014 09:29:56 +0200 Subject: [PATCH] Improving logic of intelligent data reader a little bit --- xml-db/get.pl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 { -- 2.43.0