printenv()
{
	register struct envs *e;
	char *p;
	char *v;
	int n;

	for (e = envs; e->get; ++e) {
		if (e == (envs + 1))
			++e;
		if (e->put) {
			msgf("%s", e->put);
			n = strlen(e->put);
			v = strchr(e->put, '=') + 1;
		} else if (e->def) {
			msgf("%s=%s", e->get, e->def);
			n = strlen(e->get) + strlen(e->def) + 1;
			v = e->def;
		} else {
			msgf("%s=", e->get);
			n = strlen(e->get) + 1;
			v = "";
		}
		p = getenv(e->get);
		if (e->str && *e->str)
			p = *e->str;
		if (p && strcmp(p, v)) {
			if ((n + strlen(p) + 6) > 80)
				msgf("\n ");
			msgf(" -> %s", p);
		}
		msgf("\n");
	}
}
