| 94 | // for that, through a recursive function and a simple chain of pointers. |
| 95 | |
| 96 | struct VarChain { |
| 97 | VarChain(const char *var_=NULL, const VarChain *link_=NULL): var(var_), link(link_) {} |
| 98 | |
| 99 | bool contains(const char *testVar) const { |
| 100 | return (var && (0 == strcmp(var, testVar))) |
| 101 | || (link && link->contains(testVar)); |
| 102 | } |
| 103 | |
| 104 | const char *var; |
| 105 | const VarChain *link; |
| 106 | }; |
| 107 | |
| 108 | static int ExpandAllInPlace(const PropSetSimple &props, std::string &withVars, int maxExpands, const VarChain &blankVars) { |
| 109 | size_t varStart = withVars.find("$("); |
no outgoing calls
no test coverage detected