comparison scripts/miscellaneous/mkdir.m @ 30211:54520422f056

simplify mkdir and allow it to create parent directory (bug #61166) * mkdir.m: Always perform tilde expansion on parent. If both parent and dirname are supplied, use fullfile to concatentate with dirname. Recursively create all directories. * system.tst: New test.
author John W. Eaton <jwe@octave.org>
date Fri, 24 Sep 2021 10:46:49 -0400
parents 7854d5752dd2
children 6ed1f02621e2
comparison
equal deleted inserted replaced
30210:351dbe4da930 30211:54520422f056
52 52
53 if (nargin < 1) 53 if (nargin < 1)
54 print_usage (); 54 print_usage ();
55 endif 55 endif
56 56
57 parent = tilde_expand (parent);
58
57 if (nargin == 1) 59 if (nargin == 1)
58 dirname = parent; 60 dirname = parent;
59
60 if (is_absolute_filename (tilde_expand (dirname)))
61 parent = "";
62 else
63 parent = [pwd(), filesep];
64 endif
65 else 61 else
66 parent = [parent, filesep]; 62 dirname = fullfile (parent, dirname);
67 endif 63 endif
68 64
65 dirname = make_absolute_filename (dirname);
66
69 ## Move leading directory names from dirname to parent 67 ## Move leading directory names from dirname to parent
70 [parent, dirname, ext] = fileparts ([parent, dirname]); 68 [parent, dirname, ext] = fileparts (dirname);
71 69
72 [sts, msg, msgid] = mkdir_recur (parent, [dirname, ext]); 70 [sts, msg, msgid] = mkdir_recur (parent, [dirname, ext]);
73 71
74 if (nargout == 0) 72 if (nargout == 0)
75 if (! sts) 73 if (! sts)