version 1.32, 2000/06/23 16:18:09 |
version 1.33, 2000/06/23 16:20:01 |
|
|
if (strchr(cgn->name, '$') != NULL) { |
if (strchr(cgn->name, '$') != NULL) { |
if (DEBUG(SUFF)) |
if (DEBUG(SUFF)) |
printf("Expanding \"%s\"...", cgn->name); |
printf("Expanding \"%s\"...", cgn->name); |
cp = Var_Subst(cgn->name, pgn, TRUE); |
cp = Var_Subst(cgn->name, &pgn->context, TRUE); |
|
|
if (cp != NULL) { |
if (cp != NULL) { |
LIST members; |
LIST members; |
|
|
*/ |
*/ |
char *sacrifice = cp; |
char *sacrifice = cp; |
|
|
(void)Arch_ParseArchive(&sacrifice, &members, pgn); |
(void)Arch_ParseArchive(&sacrifice, &members, &pgn->context); |
} else { |
} else { |
/* |
/* |
* Break the result into a vector of strings whose nodes |
* Break the result into a vector of strings whose nodes |
|
|
size_t len; |
size_t len; |
Boolean doFree; |
Boolean doFree; |
|
|
junk = Var_Parse(cp, pgn, TRUE, &len, &doFree); |
junk = Var_Parse(cp, &pgn->context, TRUE, &len, &doFree); |
if (junk != var_Error) |
if (junk != var_Error) |
cp += len - 1; |
cp += len - 1; |
|
|
|
|
* Copy in the variables from the member node to this one. |
* Copy in the variables from the member node to this one. |
*/ |
*/ |
for (i = (sizeof(copy)/sizeof(copy[0]))-1; i >= 0; i--) { |
for (i = (sizeof(copy)/sizeof(copy[0]))-1; i >= 0; i--) { |
Var_Set(copy[i], Var_Value(copy[i], mem), gn); |
Var_Set(copy[i], Var_Value(copy[i], &mem->context), &gn->context); |
|
|
} |
} |
|
|