summaryrefslogtreecommitdiff
path: root/modules/fileio/macros/dirname.sci
diff options
context:
space:
mode:
Diffstat (limited to 'modules/fileio/macros/dirname.sci')
-rwxr-xr-xmodules/fileio/macros/dirname.sci37
1 files changed, 37 insertions, 0 deletions
diff --git a/modules/fileio/macros/dirname.sci b/modules/fileio/macros/dirname.sci
new file mode 100755
index 000000000..9206fadb9
--- /dev/null
+++ b/modules/fileio/macros/dirname.sci
@@ -0,0 +1,37 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ENPC
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function [files]= dirname(files,flag,flagexpand)
+ // return the dirnames of files
+ // if flag == %t files are first converted
+ // according to getos() == 'Windows'. if flagexpand is also true
+ // HOME SCI or ~ are also expanded.
+ // the returned directory names are not terminated by sep
+ [lhs,rhs]=argn(0)
+ if rhs <= 1 then flag = %t ; end
+ if rhs <= 2 then flagexpand = %t ; end
+
+ if flag == %t then
+ files = pathconvert(files,%f,flagexpand);
+ end
+
+ sep = filesep();
+
+ for i=1:size(files,"*")
+ fname = files(i)
+ pref_pos = strindex(fname,sep);
+ if pref_pos <> [] then
+ fname = part(fname,1:pref_pos($)-1);
+ else
+ fname = "."; //emptystr();
+ end
+ files(i)= fname;
+ end
+endfunction
+