# HG changeset patch # User Rik # Date 1578073423 28800 # Node ID f7279dd915d88a3c9a950fd9e0d164415c1cbdfa # Parent 32f4a15c77c707200f3981a3c212edb0caad011a what.m: Check file / folder status before returning results (bug #57531). * what.m: Add isfile() or isfolder() checks to make sure that names have the correct identity. diff -r 32f4a15c77c7 -r f7279dd915d8 scripts/miscellaneous/what.m --- a/scripts/miscellaneous/what.m Fri Jan 03 09:32:02 2020 -0800 +++ b/scripts/miscellaneous/what.m Fri Jan 03 09:43:43 2020 -0800 @@ -110,17 +110,29 @@ ## mdl, slx, and p are ignored (no if test) since they are not implemented [~, f, e] = fileparts (nm); if (strcmp (e, ".m")) - w.m{end+1} = nm; + if (isfile (fullfile (dir, nm))) + w.m{end+1} = nm; + endif elseif (strcmp (e, ".mat")) - w.mat{end+1} = nm; + if (isfile (fullfile (dir, nm))) + w.mat{end+1} = nm; + endif elseif (strcmp (e, ".oct")) - w.oct{end+1} = nm; + if (isfile (fullfile (dir, nm))) + w.oct{end+1} = nm; + endif elseif (strcmp (e, mexext ())) - w.mex{end+1} = nm; - elseif (nm(1) == "@" && isfolder (fullfile (dir, nm))) - w.classes{end+1} = nm; - elseif (nm(1) == "+" && isfolder (fullfile (dir, nm))) - w.packages{end+1} = nm; + if (isfile (fullfile (dir, nm))) + w.mex{end+1} = nm; + endif + elseif (nm(1) == "@") + if (isfolder (fullfile (dir, nm))) + w.classes{end+1} = nm; + endif + elseif (nm(1) == "+") + if (isfolder (fullfile (dir, nm))) + w.packages{end+1} = nm; + endif endif endfor