Mercurial > hg > toybox
view toys/other/printenv.c @ 694:786841fdb1e0
Reindent to two spaces per level. Remove vi: directives that haven't worked right in years (ubuntu broke its' vim implementation). Remove trailing spaces. Add/remove blank lines. Re-wordwrap in places. Update documentation with new coding style.
The actual code should be the same afterward, this is just cosmetic refactoring.
author | Rob Landley <rob@landley.net> |
---|---|
date | Tue, 13 Nov 2012 17:14:08 -0600 |
parents | 6df4ccc0acbe |
children |
line wrap: on
line source
/* printenv.c - Print environment variables. * * Copyright 2012 Georgi Chorbadzhiyski <georgi@unixsol.org> USE_PRINTENV(NEWTOY(printenv, "0(null)", TOYFLAG_USR|TOYFLAG_BIN)) config PRINTENV bool "printenv" default y help usage: printenv [-0] [env_var...] Print environment variables. -0 Use \0 as delimiter instead of \n */ #include "toys.h" extern char **environ; void printenv_main(void) { char **env, **var = toys.optargs; char delim = '\n'; if (toys.optflags) delim = 0; do { int catch = 0, len = *var ? strlen(*var) : 0; for (env = environ; *env; env++) { char *out = *env; if (*var) { if (!strncmp(out, *var, len) && out[len] == '=') out += len +1; else continue; } xprintf("%s%c", out, delim); catch++; } if (*var && !catch) toys.exitval = 1; } while (*var && *(++var)); }