Change Details
b2/boom.c |
136 | 136 | int i; |
137 | 137 | |
138 | 138 | dollar = unique("$"); |
| 139 | subex_init(); |
139 | 140 | for (i = 1; i != argc; i++) { |
140 | 141 | if (*argv[i] != '-') { |
141 | 142 | process(argv[i]); |
b2/subex.c |
235 | 235 | int substitute(const struct subst *sub, const struct param *in, |
236 | 236 | struct param **out) |
237 | 237 | { |
238 | | int i; |
239 | | char tmp[4]; |
240 | 238 | enum subst_type cause = 0; |
241 | 239 | |
242 | | if (!fn) { |
243 | | fn = unique("FN"); |
244 | | for (i = 0; i != FIELDS; i++) { |
245 | | sprintf(tmp, "F%d", i); |
246 | | f[i] = unique(tmp); |
247 | | } |
248 | | } |
249 | 240 | *out = NULL; |
250 | 241 | return recurse_sub(sub, in, NULL, NULL, NULL, NULL, out, &cause) |
251 | 242 | != &jump_ignore; |
252 | 243 | } |
| 244 | |
| 245 | |
| 246 | void subex_init(void) |
| 247 | { |
| 248 | int i; |
| 249 | char tmp[4]; |
| 250 | |
| 251 | fn = unique("FN"); |
| 252 | for (i = 0; i != FIELDS; i++) { |
| 253 | sprintf(tmp, "F%d", i); |
| 254 | f[i] = unique(tmp); |
| 255 | } |
| 256 | } |
b2/subex.h |
20 | 20 | int substitute(const struct subst *sub, const struct param *in, |
21 | 21 | struct param **out); |
22 | 22 | |
| 23 | void subex_init(void); |
| 24 | |
23 | 25 | #endif /* !SUBEX_H */ |
Download the corresponding diff file