time   | Calls   |  line  | 
|---|
 |  |    1   | function cdirs = parsedirs(str,varargin)
   | 
 |  |    2   | %PARSEDIRS Convert string of directories into a cell array
   | 
 |  |    3   | %   C = PARSEDIRS(S) converts S, a string of directories separated by path
   | 
 |  |    4   | %   separators, to C, a cell array of directories. 
   | 
 |  |    5   | %
   | 
 |  |    6   | %   The function will clean up each directory name by converting file
   | 
 |  |    7   | %   separators to the appropriate operating system file separator, and by
   | 
 |  |    8   | %   ending each cell with a path separator. It will also remove repeated
   | 
 |  |    9   | %   file and path separators, and insignificant whitespace. 
   | 
 |  |   10   | %
   | 
 |  |   11   | %   Example:
   | 
 |  |   12   | %       cp = parsedirs(path);
   | 
 |  |   13   | 
 
  | 
 |  |   14   | %   Copyright 1984-2007 The MathWorks, Inc.
   | 
 |  |   15   | 
 
  | 
< 0.001   |       8   |   16  | fs = filesep; 
   | 
< 0.001   |       8   |   17  | ps = pathsep; 
   | 
 |  |   18   | 
 
  | 
  0.010   |       8   |   19  | cdirs = regexp(str, sprintf('[^\\s%s;][^%s;]*', ps, ps), 'match')'; 
  | 
 |  |   20   | 
 
  | 
< 0.001   |       8   |   21  | if ps == ';' 
   | 
 |  |   22   |     % Only iron fileseps on PC:
   | 
 |  |   23   |     cdirs = strrep(cdirs,'/','\');
   | 
 |  |   24   | 
 
  | 
 |  |   25   |     % Remove repeated "\"s unless they are the start of string
   | 
 |  |   26   |     % Also ensure a "\" exists after a colon
   | 
 |  |   27   | 	cdirs = regexprep(cdirs, '(:)\s*$|(.)\\{2,}', '$1\');
  | 
< 0.001   |       8   |   28  | else 
   | 
 |  |   29   |     % Remove repeated "/"s
   | 
  0.009   |       8   |   30  |     cdirs = regexprep(cdirs, '/{2,}', '/'); 
  | 
 |  |   31   | 
 
  | 
 |  |   32   |     % Do any tilde expansion
   | 
< 0.001   |       8   |   33  |     ix = find(strncmp(cdirs,'~',1)); 
   | 
< 0.001   |       8   |   34  |     if ~isempty(ix) 
   | 
 |  |   35   |       cdirs(ix) = unix_tilde_expansion(cdirs(ix));
   | 
 |  |   36   |     end
   | 
< 0.001   |       8   |   37  | end 
   | 
 |  |   38   | 
 
  | 
 |  |   39   | % Remove trailing fileseps, but allow a directory to be "X:\", "\" or "/" 
   | 
 |  |   40   | % Add pathseps to the end of all paths
   | 
  0.028   |       8   |   41  | cdirs = regexprep(cdirs,sprintf('(.*[^:])\\%s\\s*$|(.+)\\s*$',fs),sprintf('$1%s', ps)); 
  | 
 |  |   42   | 
 
  | 
 |  |   43   | % Remove empty paths
   | 
< 0.001   |       8   |   44  | cdirs(cellfun('isempty', cdirs)) = []; 
  | 
Other subfunctions in this file are not included in this listing.