109 |
envar_lookup(envar_t *env, char *name) |
envar_lookup(envar_t *env, char *name) |
110 |
{ |
{ |
111 |
ENVAR *p; |
ENVAR *p; |
112 |
|
ITERATOR *itr = iterator_create(env); |
113 |
|
|
114 |
for (p = list_first(env); p; p = list_next(env)) { |
if (!itr) |
115 |
|
return NULL; |
116 |
|
for (p = iterator_first(itr); p; p = iterator_next(itr)) { |
117 |
if (strcmp(p->name, name) == 0) |
if (strcmp(p->name, name) == 0) |
118 |
return p->value; |
break; |
119 |
} |
} |
120 |
return NULL; |
iterator_destroy(&itr); |
121 |
|
return p ? p->value : NULL; |
122 |
} |
} |
123 |
|
|
124 |
char * |
char * |
157 |
{ |
{ |
158 |
envar_t *list; |
envar_t *list; |
159 |
ENVAR *p; |
ENVAR *p; |
160 |
|
ITERATOR *itr; |
161 |
|
|
162 |
list = list_create(); |
list = list_create(); |
163 |
for (p = list_first(sec); p; p = list_next(sec)) |
itr = iterator_create(sec); |
164 |
if (!envar_lookup(prim, p->name)) { |
if (itr) { |
165 |
list_append(list, envar_dup(p)); |
for (p = iterator_first(itr); p; p = iterator_next(itr)) |
166 |
} |
if (!envar_lookup(prim, p->name)) { |
167 |
for (p = list_first(prim); p; p = list_next(prim)) { |
list_append(list, envar_dup(p)); |
168 |
list_append(list, envar_dup(p)); |
} |
169 |
|
iterator_destroy(&itr); |
170 |
|
} |
171 |
|
itr = iterator_create(prim); |
172 |
|
if (itr) { |
173 |
|
for (p = iterator_first(itr); p; p = iterator_next(itr)) |
174 |
|
list_append(list, envar_dup(p)); |
175 |
|
iterator_destroy(&itr); |
176 |
} |
} |
177 |
return list; |
return list; |
178 |
} |
} |