# HG changeset patch # User Pantxo Diribarne # Date 1422381325 -3600 # Node ID 3da4b083e0b8df8c27191ecbf06ba87503ca8b51 # Parent bdf90710dddfc1ca6858ff3ffb8d688699ffd222 getappdata.m: fix output for multiple handles (bug #44097) * getappdata.m: replace try/catch by tests on property/value structure, fix output and remove FIXME comment diff -r bdf90710dddf -r 3da4b083e0b8 scripts/miscellaneous/getappdata.m --- a/scripts/miscellaneous/getappdata.m Sat Oct 04 02:17:17 2014 -0500 +++ b/scripts/miscellaneous/getappdata.m Tue Jan 27 18:55:25 2015 +0100 @@ -47,18 +47,14 @@ error ("getappdata: NAME must be a string"); endif - ## FIXME: Is there a better way to handle non-existent appdata - ## and missing fields? value = cell (numel (h), 1); appdata = struct (); for i = 1:numel (h) - try - appdata = get (h(i), "__appdata__"); - end_try_catch - if (isfield (appdata, name)) - value(i) = {appdata.(name)}; - else - value(i) = {[]}; + value{i} = []; + pval = get (h(i)); + if (isfield (pval, "__appdata__") && + isfield (pval.__appdata__, name)) + value{i} = pval.__appdata__.(name); endif endfor