* Bug 16365 fixed: median(m,'r'|'c') was wrong after 5dc990
[scilab.git] / scilab / modules / fileio / macros / rmdir.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2007 - INRIA - Allan CORNET
3 //
4 // Copyright (C) 2012 - 2016 - Scilab Enterprises
5 //
6 // This file is hereby licensed under the terms of the GNU GPL v2.0,
7 // pursuant to article 5.3.4 of the CeCILL v.2.1.
8 // This file was originally licensed under the terms of the CeCILL v2.1,
9 // and continues to be available under such terms.
10 // For more information, see the COPYING file which you should have received
11 // along with this program.
12
13 // rmdir remove a directory
14 function [status,msg]=rmdir(varargin)
15     lhs=argn(1);
16     rhs=argn(2);
17
18     DirName = "";
19     status = 0;
20     msg = "";
21     SubDirMode = %F;
22
23     select rhs
24     case 0
25         error(msprintf(gettext("%s: Wrong number of input argument(s).\n"),"rmdir"));
26         break
27     case 1
28         DirName = varargin(1);
29         break
30     case 2
31         DirName = varargin(1) ;
32         SubDir = convstr(varargin(2),"u");
33         if (SubDir == "S") then
34             SubDirMode = %T;
35         else
36             error(msprintf(gettext("%s: Wrong value for input argument #%d: Must be ''%s''.\n"),"rmdir",2,"s"));
37         end
38         break
39     else
40         error(msprintf(gettext("%s: Wrong number of input argument(s).\n"),"rmdir"));
41     end
42
43     if ~SubDirMode then
44         if findfiles(DirName)<>[] then
45             status = 0
46             msg = gettext("Error: The directory is not empty.")
47         else
48             [status,msg] = hidden_rmdir(DirName);
49         end
50     else
51         [status,msg] = hidden_rmdir(DirName);
52     end
53 endfunction
54 //------------------------------------------------------------------------
55 function [status,msg]=hidden_rmdir(DirName)
56     status = 0;
57     msg = "";
58
59     if isdir(DirName) then
60         bOK = removedir(DirName);
61         if bOK then
62             msg = "";
63             status = 1;
64         else
65             msg = msprintf(gettext("%s: An error occurred: %s\n"),"rmdir", gettext("Undefined"));
66             status = 0;
67         end
68     else
69         msg = msprintf(gettext("%s: An error occurred: %s\n"),"rmdir", gettext("The system cannot find the file specified."));
70         status = 0;
71     end
72
73 endfunction
74 //------------------------------------------------------------------------