Changeset 1770 in MondoRescue for branches/stable/mindi-busybox/coreutils/printenv.c
- Timestamp:
- Nov 6, 2007, 11:01:53 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mindi-busybox/coreutils/printenv.c
r821 r1770 1 /* vi: set sw=4 ts=4: */ 1 2 /* 2 3 * printenv implementation for busybox … … 5 6 * Copyright (C) 2005 by Mike Frysinger <vapier@gentoo.org> 6 7 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 * 8 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 21 9 */ 22 10 23 #include <stdio.h> 24 #include <string.h> 25 #include <stdlib.h> 26 #include "busybox.h" 11 #include "libbb.h" 12 extern char **environ; 27 13 14 int printenv_main(int argc, char **argv); 28 15 int printenv_main(int argc, char **argv) 29 16 { 30 extern char **environ;31 int e = 0;32 33 17 /* no variables specified, show whole env */ 34 if (argc == 1) 18 if (argc == 1) { 19 int e = 0; 35 20 while (environ[e]) 36 21 puts(environ[e++]); 37 38 /* search for specified variables and print them out if found */ 39 else { 40 int i; 41 size_t l; 22 } else { 23 /* search for specified variables and print them out if found */ 42 24 char *arg, *env; 43 25 44 for (i=1; (arg = argv[i]); ++i) 45 for (; (env = environ[e]); ++e) { 46 l = strlen(arg); 47 if (!strncmp(env, arg, l) && env[l] == '=') 48 puts(env + l + 1); 49 } 26 while ((arg = *++argv) != NULL) { 27 env = getenv(arg); 28 if (env) 29 puts(env); 30 } 50 31 } 51 32 52 bb_fflush_stdout_and_exit(0);33 fflush_stdout_and_exit(0); 53 34 }
Note:
See TracChangeset
for help on using the changeset viewer.