File:  [ELWIX - Embedded LightWeight unIX -] / libelwix / example / envargs.c
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Thu Jan 17 10:05:35 2013 UTC (11 years, 4 months ago) by misho
CVS tags: MAIN, HEAD
Initial revision

#include <stdio.h>
#include <elwix.h>

extern char **environ;

int
main(int argc, char **argv)
{
	char **na, **args = argv + 1;
	char **ne, **envs = environ;

	if (argc < 2)
		return 1;

	printf("Show arguments::\n");
	while (*args)
		printf(" args=%s\n", *args++);
	printf("---\n");
	printf("Show environment::\n");
	while (*envs)
		printf(" envs=%s\n", *envs++);

	printf("--------------------\n");
	printf("--------------------\n");
	printf("--------------------\n");

	na = str_ExecArgs("piuk", (const char**) argv);
	if (!na)
		return 2;
	else
		args = na;
	printf("EXEC arguments::\n");
	while (*args)
		printf(" args=%s\n", *args++);

	printf("---\n");

	ne = str_CopyEnv((const char**) environ);
	if (!ne)
		return 3;
	else
		envs = ne;
	printf("COPY environment::\n");
	while (*envs)
		printf(" envs=%s\n", *envs++);

	printf("--------------------\n");

	str_FreeNullTerm(&na);
	str_FreeNullTerm(&ne);
	return 0;
}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>