Lines Matching refs:envp

327 __collector_env_printall (char *label, char *envp[])
330 TprintfT (DBG_LT2, "__collector_env_printall(%s): environment @ 0x%p\n", label, envp);
331 for (int i = 0; envp[i]; i++)
332 Tprintf (DBG_LT2, "\tenv[%d]@0x%p == %s\n", i, envp[i], envp[i]);
338 env_match (char *envp[], const char *envvar)
341 if (envp == NULL)
342 TprintfT (DBG_LT1, "env_match(%s): NULL envp!\n", envvar);
346 while ((envp[i] != NULL) && (__collector_strStartWith (envp[i], envvar)))
348 if ((envp[i] == NULL) || (envp[i][__collector_strlen (envvar)] != '='))
349 TprintfT (DBG_LT4, "env_match(): @%p []%s not defined in envp\n", envp, envvar);
352 TprintfT (DBG_LT4, "env_match(): @%p [%d]%s defined in envp\n", envp, i, envp[i]);
361 /* 1) copy all current envp[] ptrs into a new array, coll_env[] */
362 /* 2) if collector-related env ptrs not in envp[], append them to coll_env */
365 /* If they already exist in envp, probably is an error... */
502 __collector_env_unset (char *envp[])
506 TprintfT (DBG_LT3, "env_unset(envp=0x%p)\n", envp);
507 if (envp == NULL)
546 __collector_env_printall ("__collector_env_unset, before", envp);
549 int idx = env_match (envp, env_name);
552 char *env_val = envp[idx];
554 envp[idx] = "junk="; /* xxxx is it ok to use original string? */
556 envp[idx] = env_val;
557 TprintfT (DBG_LT4, "env_unset(): new %s\n", envp[idx]);
562 int idx = env_match(envp, env_name);
564 char *env_val = envp[idx];
566 envp[idx] = "junk="; /* xxxx is it ok to use original string? */
568 envp[idx] = env_val;
569 TprintfT(DBG_LT4, "env_unset(): new %s\n", envp[idx]);
571 __collector_env_printall ("__collector_env_unset, after", envp );
579 __collector_env_update (char *envp[])
582 TprintfT (DBG_LT1, "__collector_env_update(envp=0x%p)\n", envp);
584 if (envp == NULL)
587 TprintfT (DBG_LT2, "__collector_env_update(envp=NULL)\n");
637 TprintfT (DBG_LT2, "__collector_env_update(envp=0x%p) not NULL\n", envp);
638 __collector_env_printall ("__collector_env_update, before", envp);
642 int idx = env_match (envp, env_name);
645 char *env_val = __collector_strchr (envp[idx], '=');
652 envp[idx] = new_str;
659 int idx = env_match (envp, env_name);
662 char *env_val = __collector_strchr (envp[idx], '=');
669 envp[idx] = new_str;
677 idx = env_match (envp, env_name);
680 char *env_val = __collector_strchr (envp[idx], '=');
686 envp[idx] = new_str;
716 char * envp[] = {string, NULL};
717 __collector_env_update (envp);
718 return CALL_UTIL (putenv)(envp[0]);
748 char * envp[] = {ev, NULL};
749 __collector_env_update (envp);
750 if (envp[0] == ev)
757 char *env_val = __collector_strchr (envp[0], '=');
763 return CALL_UTIL (setenv)(envp[0], env_val, overwrite);
796 char * envp[] = {ev, NULL};
797 __collector_env_update (envp);
798 if (envp[0] == ev)
801 CALL_UTIL (putenv)(envp[0]);