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 #if !HAVE_DECL_ENVIRON
20 extern char **environ;
21 #endif
22
23 int
mail_setenv(int argc,char ** argv)24 mail_setenv (int argc, char **argv)
25 {
26 if (argc == 1)
27 {
28 char **p;
29
30 for (p = environ; *p; p++)
31 mu_printf ("%s\n", *p);
32 }
33 else
34 {
35 int i;
36
37 /* Note: POSIX requires that the argument to putenv become part
38 of the environment itself, hence the memory allocation. */
39
40 for (i = 1; i < argc; i++)
41 {
42 char *value = strchr (argv[i], '=');
43 if (value)
44 *value++ = 0;
45 setenv (argv[i], value ? value : "", 1);
46 }
47 }
48 return 0;
49 }
50
51