Changeset 910 for trunk/src/gmakenew/file.c
- Timestamp:
- May 24, 2007, 5:10:51 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gmakenew/file.c
r908 r910 474 474 for (d = old; d != 0; d = d->next) 475 475 { 476 size_t buffer_offset; /* bird */ 476 477 struct dep *new, *d1; 477 478 char *p; … … 485 486 if (! d->need_2nd_expansion) 486 487 { 487 size_t l; /* bird */488 488 p = variable_expand (""); 489 l = p - variable_buffer; /* bird */489 buffer_offset = p - variable_buffer; 490 490 variable_buffer_output (p, d->name, strlen (d->name) + 1); 491 p = variable_buffer + l; /* bird - this may have been reallocated!*/491 p = variable_buffer + buffer_offset; /* bird - variable_buffer may have been reallocated. (observed it) */ 492 492 } 493 493 else … … 499 499 char *o; 500 500 char *buffer = variable_expand (""); 501 buffer_offset = buffer - variable_buffer; /* bird */ 501 502 502 503 o = subst_expand (buffer, d->name, "%", "$*", 1, 2, 0); 504 buffer = variable_buffer + buffer_offset; /* bird - variable_buffer may have been reallocated. */ 503 505 504 506 d->name = strcache_add_len (buffer, o - buffer); … … 538 540 const char *pattern = "%"; 539 541 char *buffer = variable_expand (""); 542 const size_t buffer_offset = buffer - variable_buffer; /* bird */ 540 543 struct dep *dp = new, *dl = 0; 541 544 … … 562 565 o = patsubst_expand_pat (buffer, d->stem, pattern, nm, 563 566 pattern+1, percent+1); 567 buffer = variable_buffer + buffer_offset; /* bird - variable_buffer may have been reallocated. */ 568 564 569 565 570 /* If the name expanded to the empty string, ignore it. */
Note:
See TracChangeset
for help on using the changeset viewer.