Ignore:
Timestamp:
Nov 4, 2007, 3:16:40 AM (16 years ago)
Author:
Bruno Cornec
Message:

Update to busybox 1.7.2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.5/mindi-busybox/coreutils/printenv.c

    r821 r1765  
     1/* vi: set sw=4 ts=4: */
    12/*
    23 * printenv implementation for busybox
     
    56 * Copyright (C) 2005 by Mike Frysinger <vapier@gentoo.org>
    67 *
    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.
    219 */
    2210
    23 #include <stdio.h>
    24 #include <string.h>
    25 #include <stdlib.h>
    26 #include "busybox.h"
     11#include "libbb.h"
     12extern char **environ;
    2713
     14int printenv_main(int argc, char **argv);
    2815int printenv_main(int argc, char **argv)
    2916{
    30     extern char **environ;
    31     int e = 0;
    32 
    3317    /* no variables specified, show whole env */
    34     if (argc == 1)
     18    if (argc == 1) {
     19        int e = 0;
    3520        while (environ[e])
    3621            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 */
    4224        char *arg, *env;
    4325
    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        }
    5031    }
    5132
    52     bb_fflush_stdout_and_exit(0);
     33    fflush_stdout_and_exit(0);
    5334}
Note: See TracChangeset for help on using the changeset viewer.