1c943965c42135c6e643e2e15d64e28f1df17d1c
[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 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 // rmdir remove a directory
11 function [status,msg]=rmdir(varargin)
12   lhs=argn(1);   
13   rhs=argn(2);
14   
15   DirName = '';
16   status = 0;
17   msg = '';
18   SubDirMode = %F;
19   
20   select rhs
21     case 0
22      error('Number of parameters incorrect.');  
23     break
24     case 1
25       DirName = varargin(1);
26     break
27     case 2
28       DirName = varargin(1) ;
29       SubDir = convstr(varargin(2),'u');
30       if (SubDir == 'S') then
31         SubDirMode = %T;
32       else
33         error('Second parameters incorrect.');
34       end
35     break
36   else
37      error('Number of parameters incorrect.');
38   end
39   
40   if ~SubDirMode then
41     if findfiles(DirName)<>[] then 
42       status = 0
43       msg = 'Error : The directory is not empty.'
44     else
45       [status,msg] = hidden_rmdir(DirName);
46     end
47   else
48         [status,msg] = hidden_rmdir(DirName);
49   end   
50 endfunction
51 //------------------------------------------------------------------------
52 function [status,msg]=hidden_rmdir(DirName)
53   status = 0;
54   msg = '';
55   
56   if isdir(DirName) then
57     bOK = removedir(DirName);
58     if bOK then
59       msg = '';
60       status = 1;
61     else
62       msg = 'Error : Undefined error.';
63       status = 0;
64     end
65   else
66     msg = 'Error : The system cannot find the file specified.'; 
67     status = 0;
68   end
69   
70 endfunction
71 //------------------------------------------------------------------------