char *getenv_string(GETENV_STATE *state) { ERTS_SMP_LC_ASSERT(erts_smp_lc_rwmtx_is_rlocked(&environ_rwmtx)); if (state->next_string[0] == '\0') return NULL; else { char *res = state->next_string; state->next_string += sys_strlen(res) + 1; return res; } }
char *getenv_string(GETENV_STATE *state) { ERTS_SMP_LC_ASSERT(erts_smp_lc_rwmtx_is_rlocked(&environ_rwmtx)); if (state->next_string[0] == L'\0') { return NULL; } else { WCHAR *res = state->next_string; state->next_string += wcslen(res) + 1; return (char *) res; } }
char *getenv_string(GETENV_STATE *state0) { char **state = (char **) *state0; char *cp; ERTS_SMP_LC_ASSERT(erts_smp_lc_rwmtx_is_rlocked(&environ_rwmtx)); if (state == NULL) state = environ; cp = *state++; *state0 = (GETENV_STATE) state; return cp; }
int erts_lc_is_de_rlocked(DistEntry *dep) { return erts_smp_lc_rwmtx_is_rlocked(&dep->rwmtx); }