BIF_RETTYPE os_getenv_0(BIF_ALIST_0) { GETENV_STATE state; char *cp; Eterm* hp; Eterm ret; Eterm str; init_getenv_state(&state); ret = NIL; while ((cp = getenv_string(&state)) != NULL) { str = erts_convert_native_to_filename(BIF_P,(byte *)cp); hp = HAlloc(BIF_P, 2); ret = CONS(hp, str, ret); } fini_getenv_state(&state); return ret; }
Eterm os_getenv_0(Process* p) { GETENV_STATE state; char *cp; Eterm* hp; Eterm ret; Eterm str; int len; init_getenv_state(&state); ret = NIL; while ((cp = getenv_string(&state)) != NULL) { len = strlen(cp); hp = HAlloc(p, len*2+2); str = buf_to_intlist(&hp, cp, len, NIL); ret = CONS(hp, str, ret); } fini_getenv_state(&state); return ret; }