.
cmd/nvedit.c
1 char *getenv(const char *name)
2 {
3 if (gd->flags & GD_FLG_ENV_READY) { /* after import into hashtable */
4 ENTRY e, *ep;
5
6 WATCHDOG_RESET();
7
8 e.key = name;
9 e.data = NULL;
10 hsearch_r(e, FIND, &ep, &env_htab, 0);
11
12 return ep ? ep->data : NULL;
13 }
14
15 /* restricted capabilities before import */
16 if (getenv_f(name, (char *)(gd->env_buf), sizeof(gd->env_buf)) > 0)
17 return (char *)(gd->env_buf);
18
19 return NULL;
20 }
- 이 함수는 환경설정에서
name
를 찾아 있으면 저장된 주소를 반환하거나 없으면 NULL을 반환하는 함수입니다. - 3번 줄에서
gd->flags
의 값은 0이기 때문에 if문이 수행되지 않습니다. - 16번 줄에서
getenv_f
함수를 통해 환경변수를 찾습니다. 만약 찾으면 index를 반환하고 찾지 못하면 -1을 반환합니다.