Deleted Added
full compact
options.c (17987) options.c (19240)
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Kenneth Almquist.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Kenneth Almquist.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * $Id: options.c,v 1.6 1995/10/09 17:56:32 joerg Exp $
36 * $Id: options.c,v 1.7 1996/09/01 10:21:16 peter Exp $
37 */
38
39#ifndef lint
40static char sccsid[] = "@(#)options.c 8.2 (Berkeley) 5/4/95";
41#endif /* not lint */
42
43#include <signal.h>
44#include <unistd.h>

--- 42 unchanged lines hidden (view full) ---

87{
88 int i;
89
90 argptr = argv;
91 if (argc > 0)
92 argptr++;
93 for (i = 0; i < NOPTS; i++)
94 optlist[i].val = 2;
37 */
38
39#ifndef lint
40static char sccsid[] = "@(#)options.c 8.2 (Berkeley) 5/4/95";
41#endif /* not lint */
42
43#include <signal.h>
44#include <unistd.h>

--- 42 unchanged lines hidden (view full) ---

87{
88 int i;
89
90 argptr = argv;
91 if (argc > 0)
92 argptr++;
93 for (i = 0; i < NOPTS; i++)
94 optlist[i].val = 2;
95 privileged = (getuid() != geteuid() || getgid() != getegid());
95 options(1);
96 if (*argptr == NULL && minusc == NULL)
97 sflag = 1;
98 if (iflag == 2 && sflag == 1 && isatty(0) && isatty(1))
99 iflag = 1;
100 if (mflag == 2)
101 mflag = iflag;
102 for (i = 0; i < NOPTS; i++)

--- 76 unchanged lines hidden (view full) ---

179#ifdef NOHACK
180 break;
181#endif
182 } else if (c == 'o') {
183 minus_o(*argptr, val);
184 if (*argptr)
185 argptr++;
186 } else {
96 options(1);
97 if (*argptr == NULL && minusc == NULL)
98 sflag = 1;
99 if (iflag == 2 && sflag == 1 && isatty(0) && isatty(1))
100 iflag = 1;
101 if (mflag == 2)
102 mflag = iflag;
103 for (i = 0; i < NOPTS; i++)

--- 76 unchanged lines hidden (view full) ---

180#ifdef NOHACK
181 break;
182#endif
183 } else if (c == 'o') {
184 minus_o(*argptr, val);
185 if (*argptr)
186 argptr++;
187 } else {
188 if (c == 'p' && !val && privileged) {
189 (void) setuid(getuid());
190 (void) setgid(getgid());
191 }
187 setoption(c, val);
188 }
189 }
190 }
191}
192
193STATIC void
194minus_o(name, val)

--- 5 unchanged lines hidden (view full) ---

200 if (name == NULL) {
201 out1str("Current option settings\n");
202 for (i = 0; i < NOPTS; i++)
203 out1fmt("%-16s%s\n", optlist[i].name,
204 optlist[i].val ? "on" : "off");
205 } else {
206 for (i = 0; i < NOPTS; i++)
207 if (equal(name, optlist[i].name)) {
192 setoption(c, val);
193 }
194 }
195 }
196}
197
198STATIC void
199minus_o(name, val)

--- 5 unchanged lines hidden (view full) ---

205 if (name == NULL) {
206 out1str("Current option settings\n");
207 for (i = 0; i < NOPTS; i++)
208 out1fmt("%-16s%s\n", optlist[i].name,
209 optlist[i].val ? "on" : "off");
210 } else {
211 for (i = 0; i < NOPTS; i++)
212 if (equal(name, optlist[i].name)) {
213 if (!val && privileged && equal(name, "privileged")) {
214 (void) setuid(getuid());
215 (void) setgid(getgid());
216 }
208 setoption(optlist[i].letter, val);
209 return;
210 }
211 error("Illegal option -o %s", name);
212 }
213}
214
215

--- 241 unchanged lines hidden ---
217 setoption(optlist[i].letter, val);
218 return;
219 }
220 error("Illegal option -o %s", name);
221 }
222}
223
224

--- 241 unchanged lines hidden ---