File src/engine/variables.c changed (mode: 100644) (index dd1df0392..fdf46237e) |
... |
... |
static size_t nvars; |
62 |
62 |
void |
void |
63 |
63 |
init_variables(void) |
init_variables(void) |
64 |
64 |
{ |
{ |
65 |
|
int i; |
|
|
65 |
|
int env_count; |
66 |
66 |
extern char **environ; |
extern char **environ; |
67 |
67 |
|
|
68 |
68 |
if(nvars > 0) |
if(nvars > 0) |
69 |
69 |
clear_variables(); |
clear_variables(); |
70 |
70 |
|
|
71 |
71 |
/* count environment variables */ |
/* count environment variables */ |
72 |
|
i = 0; |
|
73 |
|
while(environ[i] != NULL) |
|
74 |
|
i++; |
|
75 |
|
|
|
76 |
|
/* allocate memory for environment variables */ |
|
77 |
|
vars = malloc(sizeof(*vars)*i); |
|
78 |
|
assert(vars != NULL); |
|
|
72 |
|
env_count = 0; |
|
73 |
|
while(environ[env_count] != NULL) |
|
74 |
|
env_count++; |
79 |
75 |
|
|
80 |
|
/* initialize variable list */ |
|
81 |
|
i = 0; |
|
82 |
|
while(environ[i] != NULL) |
|
|
76 |
|
if(env_count > 0) |
83 |
77 |
{ |
{ |
84 |
|
init_var(environ[i]); |
|
85 |
|
i++; |
|
|
78 |
|
int i; |
|
79 |
|
|
|
80 |
|
/* allocate memory for environment variables */ |
|
81 |
|
vars = malloc(sizeof(*vars)*env_count); |
|
82 |
|
assert(vars != NULL); |
|
83 |
|
|
|
84 |
|
/* initialize variable list */ |
|
85 |
|
i = 0; |
|
86 |
|
while(environ[i] != NULL) |
|
87 |
|
{ |
|
88 |
|
init_var(environ[i]); |
|
89 |
|
i++; |
|
90 |
|
} |
86 |
91 |
} |
} |
87 |
92 |
|
|
88 |
93 |
init_parser(&local_getenv); |
init_parser(&local_getenv); |