97 |
{ |
{ |
98 |
char *value; |
char *value; |
99 |
struct variable_set_list *save = 0; |
struct variable_set_list *save = 0; |
100 |
|
int set_reading = 0; |
101 |
|
|
102 |
if (v->expanding) |
if (v->expanding) |
103 |
{ |
{ |
115 |
current_variable_set_list = file->variables; |
current_variable_set_list = file->variables; |
116 |
} |
} |
117 |
|
|
118 |
|
/* If we have no other file-reading context, use the variable's context. */ |
119 |
|
if (!reading_file) |
120 |
|
{ |
121 |
|
set_reading = 1; |
122 |
|
reading_file = &v->fileinfo; |
123 |
|
} |
124 |
|
|
125 |
v->expanding = 1; |
v->expanding = 1; |
126 |
if (v->append) |
if (v->append) |
127 |
value = allocated_variable_append (v); |
value = allocated_variable_append (v); |
129 |
value = allocated_variable_expand (v->value); |
value = allocated_variable_expand (v->value); |
130 |
v->expanding = 0; |
v->expanding = 0; |
131 |
|
|
132 |
|
if (set_reading) |
133 |
|
reading_file = 0; |
134 |
if (file) |
if (file) |
135 |
current_variable_set_list = save; |
current_variable_set_list = save; |
136 |
|
|