Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
John McEleney
/
mailutils
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
07c41702
...
07c4170223feb11624ae530efa04e100a0eb8e59
authored
2002-10-02 14:36:35 +0000
by
Sergey Poznyakoff
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
New file. Implements `setenv' command: an extension allowing to manipulate the shell environment.
1 parent
2f0c9875
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
0 deletions
mail/setenv.c
mail/setenv.c
0 → 100644
View file @
07c4170
/* GNU mailutils - a suite of utilities for electronic mail
Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "mail.h"
extern
char
**
environ
;
int
mail_setenv
(
int
argc
,
char
**
argv
)
{
if
(
argc
==
1
)
{
char
**
p
;
for
(
p
=
environ
;
*
p
;
p
++
)
printf
(
"%s
\n
"
,
*
p
);
}
else
{
int
i
;
/* Note: POSIX requires that the argument to putenv become part
of the environment itself, hence the memory allocation. */
for
(
i
=
1
;
i
<
argc
;)
{
char
*
p
;
if
(
i
+
1
<
argc
&&
argv
[
i
+
1
][
0
]
==
'='
)
{
asprintf
(
&
p
,
"%s=%s"
,
argv
[
i
],
argv
[
i
+
2
]);
i
+=
3
;
}
else
{
p
=
argv
[
i
];
i
++
;
}
putenv
(
p
);
}
}
return
0
;
}
Please
register
or
sign in
to post a comment