diff options
Diffstat (limited to 'sourcecodes/bnt-master/genpathKPM.m')
| -rw-r--r-- | sourcecodes/bnt-master/genpathKPM.m | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/genpathKPM.m b/sourcecodes/bnt-master/genpathKPM.m new file mode 100644 index 00000000..070cfb96 --- /dev/null +++ b/sourcecodes/bnt-master/genpathKPM.m @@ -0,0 +1,46 @@ +function p = genpathKPM(d) +% genpathKPM Like built-in genpath, but omits directories whose name is 'Old', 'old' or 'CVS' +% function p = genpathKPM(d) + +if nargin==0, + p = genpath(fullfile(matlabroot,'toolbox')); + if length(p) > 1, p(end) = []; end % Remove trailing pathsep + return +end + +% initialise variables +methodsep = '@'; % qualifier for overloaded method directories +p = ''; % path to be returned + +% Generate path based on given root directory +files = dir(d); +if isempty(files) + return +end + +% Add d to the path even if it is empty. +p = [p d pathsep]; + +% set logical vector for subdirectory entries in d +isdir = logical(cat(1,files.isdir)); +% +% Recursively descend through directories which are neither +% private nor "class" directories. +% +dirs = files(isdir); % select only directory entries from the current listing + +for i=1:length(dirs) + dirname = dirs(i).name; + if ~strcmp( dirname,'.') && ... + ~strcmp( dirname,'..') && ... + ~strcmp( dirname,'.svn') && ... + ~strncmp( dirname,methodsep,1)&& ... + ~strcmp( dirname,'private') && ... + ~strcmp( dirname, 'CVS') && ... + isempty(strfind(dirname, 'Old')) && ... + isempty(strfind(dirname, 'old')) + p = [p genpathKPM(fullfile(d,dirname))]; % recursive calling of this function. + end +end + +%------------------------------------------------------------------------------ |
