1 /* GNU Mailutils -- a suite of utilities for electronic mail
2 Copyright (C) 1999-2021 Free Software Foundation, Inc.
3
4 GNU Mailutils is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3, or (at your option)
7 any later version.
8
9 GNU Mailutils is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>. */
16
17 #include "mail.h"
18
19 /*
20 * cd [directory]
21 * ch[dir] [directory]
22 */
23
24 int
mail_cd(int argc,char ** argv)25 mail_cd (int argc, char **argv)
26 {
27 char *dir, *edir;
28 int rc;
29
30 if (argc > 2)
31 return 1;
32 else if (argc == 2)
33 dir = argv[1];
34 else
35 dir = getenv ("HOME");
36
37 rc = mu_mailbox_expand_name (dir, &edir);
38 if (rc)
39 {
40 mu_diag_funcall (MU_DIAG_ERROR, "mu_mailbox_expand_name", dir, rc);
41 return 1;
42 }
43
44 rc = chdir (edir);
45 if (rc)
46 mu_diag_funcall (MU_DIAG_ERROR, "chdir", edir, errno);
47 free (edir);
48 return rc;
49 }
50