a13fc4b490a0d60bb1935ce213a5368e6e92a9b0
[scilab.git] / scilab / modules / fileio / macros / cd.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA
3 // Copyright (C) DIGITEO - 2009 - Allan CORNET
4 //
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at
9 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10
11 function path=cd(path)
12   if (argn(2) == 1) then
13     if type(path) <> 10 then 
14       error(999,msprintf(_("%s: Wrong type for input argument #%d: A string expected.\n"),'cd',1));
15     end 
16     
17     if size(path,'*') <> 1 then 
18       error(999,msprintf(_("%s: Wrong size for input argument #%d: A string expected.\n"),'cd',1));
19     end 
20     
21         path = stripblanks(path);
22         
23     if (path == 'PWD') then 
24       path = evstr(path);
25     end
26     
27     if or(path==['/' '\' '..']) then
28       chdir(path);
29     else
30       if ~isdir(path) then
31         error(msprintf(gettext("%s: Cannot go to directory %s\n"),'cd',path),998);
32       end
33       chdir(path);
34     end 
35   else 
36     chdir(home);
37   end
38   path = pwd();
39 endfunction