Lines Matching refs:envNdx

154 __findenv(const char *name, size_t nameLen, int *envNdx, bool onlyActive)  in __findenv()  argument
163 for (ndx = *envNdx; ndx >= 0; ndx--) in __findenv()
166 *envNdx = ndx; in __findenv()
173 *envNdx = ndx; in __findenv()
188 int envNdx; in __findenv_environ() local
191 for (envNdx = 0; environ[envNdx] != NULL; envNdx++) in __findenv_environ()
192 if (strncmpeq(environ[envNdx], name, nameLen)) in __findenv_environ()
193 return (&(environ[envNdx][nameLen + sizeof("=") - 1])); in __findenv_environ()
203 __remove_putenv(int envNdx) in __remove_putenv() argument
206 if (envVarsTotal > envNdx) in __remove_putenv()
207 memmove(&(envVars[envNdx]), &(envVars[envNdx + 1]), in __remove_putenv()
208 (envVarsTotal - envNdx) * sizeof (*envVars)); in __remove_putenv()
222 int envNdx; in __clean_env() local
226 for (envNdx = envVarsTotal - 1; envNdx >= 0; envNdx--) in __clean_env()
228 if (envVars[envNdx].putenv) { in __clean_env()
230 __remove_putenv(envNdx); in __clean_env()
233 free(envVars[envNdx].name); in __clean_env()
235 envVars[envNdx].active = false; in __clean_env()
265 int envNdx; in __rebuild_environ() local
282 for (envNdx = envVarsTotal - 1, environNdx = 0; envNdx >= 0; envNdx--) in __rebuild_environ()
283 if (envVars[envNdx].active) in __rebuild_environ()
284 intEnviron[environNdx++] = envVars[envNdx].name; in __rebuild_environ()
328 int envNdx; in __build_env() local
347 for (envNdx = envVarsTotal - 1; envNdx >= 0; envNdx--) { in __build_env()
348 envVars[envNdx].putenv = false; in __build_env()
349 envVars[envNdx].name = in __build_env()
350 strdup(environ[envVarsTotal - envNdx - 1]); in __build_env()
351 if (envVars[envNdx].name == NULL) in __build_env()
353 envVars[envNdx].value = strchr(envVars[envNdx].name, '='); in __build_env()
354 if (envVars[envNdx].value != NULL) { in __build_env()
355 envVars[envNdx].value++; in __build_env()
356 envVars[envNdx].valueSize = in __build_env()
357 strlen(envVars[envNdx].value); in __build_env()
359 __env_warnx(CorruptEnvValueMsg, envVars[envNdx].name, in __build_env()
360 strlen(envVars[envNdx].name)); in __build_env()
370 nameLen = envVars[envNdx].value - envVars[envNdx].name - 1; in __build_env()
371 envVars[envNdx].nameLen = nameLen; in __build_env()
373 if (__findenv(envVars[envNdx].name, nameLen, &activeNdx, in __build_env()
375 __env_warnx(CorruptEnvFindMsg, envVars[envNdx].name, in __build_env()
416 int envNdx; in getenv() local
440 envNdx = envVarsTotal - 1; in getenv()
441 return (__findenv(name, nameLen, &envNdx, true)); in getenv()
472 int envNdx; in __setenv() local
477 envNdx = envVarsTotal - 1; in __setenv()
481 if (__findenv(name, nameLen, &envNdx, false) != NULL) { in __setenv()
483 if (envVars[envNdx].active) { in __setenv()
486 envVars[envNdx].active = false; in __setenv()
491 if (envVars[envNdx].putenv) in __setenv()
492 __remove_putenv(envNdx); in __setenv()
495 else if (envVars[envNdx].valueSize >= valueLen) in __setenv()
502 envNdx = envVarsTotal; in __setenv()
507 envVars[envNdx].name = malloc(nameLen + sizeof ("=") + in __setenv()
509 if (envVars[envNdx].name == NULL) { in __setenv()
513 envVars[envNdx].nameLen = nameLen; in __setenv()
514 envVars[envNdx].valueSize = valueLen; in __setenv()
517 env = stpncpy(envVars[envNdx].name, name, nameLen); in __setenv()
521 env = envVars[envNdx].value; in __setenv()
525 envVars[envNdx].value = env; in __setenv()
526 envVars[envNdx].active = true; in __setenv()
617 int envNdx; in putenv() local
633 envNdx = envVarsTotal - 1; in putenv()
635 if (__findenv(string, nameLen, &envNdx, true) != NULL) { in putenv()
637 if (envVars[envNdx].putenv) { in putenv()
638 envVars[envNdx].name = string; in putenv()
642 envVars[envNdx].active = false; in putenv()
647 envNdx = envVarsTotal; in putenv()
652 envVars[envNdx].name = string; in putenv()
653 envVars[envNdx].nameLen = -1; in putenv()
654 envVars[envNdx].value = NULL; in putenv()
655 envVars[envNdx].valueSize = -1; in putenv()
656 envVars[envNdx].putenv = true; in putenv()
657 envVars[envNdx].active = true; in putenv()
671 int envNdx; in unsetenv() local
687 envNdx = envVarsTotal - 1; in unsetenv()
689 while (__findenv(name, nameLen, &envNdx, true) != NULL) { in unsetenv()
690 envVars[envNdx].active = false; in unsetenv()
691 if (envVars[envNdx].putenv) in unsetenv()
692 __remove_putenv(envNdx); in unsetenv()
693 envNdx--; in unsetenv()