+ avl_init(&env_vars, avl_strcmp_var, false, NULL);
+ for (i = 0; environ[i]; i++);
+
+ vars = calloc(i, sizeof(*vars));
+ for (i = 0; environ[i]; i++) {
+ char *c;
+
+ vars[i].avl.key = environ[i];
+ c = strchr(environ[i], '=');
+ if (!c)
+ continue;
+
+ vars[i].val = c + 1;
+ avl_insert(&env_vars, &vars[i].avl);
+ }
+
+ while ((ch = getopt(argc, argv, "p:nir:w")) != -1) {