[Toybox] [PATCH] New toy - printenv
Georgi Chorbadzhiyski
gf at unixsol.org
Mon Feb 27 16:31:21 PST 2012
In the attached file you'll find implementation of printenv command.
What is the correct way (if there is one currently) to add long options.
According to printenv man page -0 is alias to --null. Currently printenv.c
supports only -0.
--
Georgi Chorbadzhiyski
http://georgi.unixsol.org/
-------------- next part --------------
/* vi: set sw=4 ts=4:
*
* printenv.c - Print environment variables.
*
* Copyright 2012 Georgi Chorbadzhiyski <georgi at unixsol.org>
*
USE_PRINTENV(NEWTOY(printenv, "0", TOYFLAG_USR|TOYFLAG_BIN))
config PRINTENV
bool "printenv"
default y
help
usage: printenv [-0] [env_var...]
Print enviroment variables.
-0 Use \0 as environment delimiter instead of \n
*/
#include "toys.h"
extern char **environ;
void printenv_main(void)
{
char **env;
char delim = '\n';
if (toys.optflags)
delim = '\0';
if (!toys.optargs[0]) {
for (env = environ; *env; env++)
xprintf("%s%c", *env, delim);
} else {
char **var = toys.optargs;
for (var = toys.optargs; *var; var++) {
int len = strlen(*var);
for (env = environ; *env; env++) {
if (strncmp(*env, *var, len) == 0)
xprintf("%s%c", *env + len + 1, delim);
}
}
}
}
More information about the Toybox
mailing list