Changeset 1107
- Timestamp:
- Sep 23, 2007, 7:29:00 AM (18 years ago)
- Location:
- trunk/src/kmk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/expand.c
r916 r1107 63 63 { 64 64 unsigned int offset = ptr - variable_buffer; 65 #ifdef KMK 66 variable_buffer_length = variable_buffer_length <= 1024 67 ? 2048 : variable_buffer_length * 4; 68 if (variable_buffer_length < newlen + 100) 69 variable_buffer_length = (newlen + 100 + 1023) & ~1023U; 70 #else 65 71 variable_buffer_length = (newlen + 100 > 2 * variable_buffer_length 66 ? newlen + 100 67 : 2 * variable_buffer_length); 72 ? newlen + 100 73 : 2 * variable_buffer_length); 74 #endif 68 75 variable_buffer = xrealloc (variable_buffer, variable_buffer_length); 69 76 ptr = variable_buffer + offset; … … 83 90 if (variable_buffer == 0) 84 91 { 92 #ifdef KMK 93 variable_buffer_length = 384; 94 #else 85 95 variable_buffer_length = 200; 96 #endif 86 97 variable_buffer = xmalloc (variable_buffer_length); 87 98 variable_buffer[0] = '\0'; -
trunk/src/kmk/variable.c
r1101 r1107 1394 1394 1395 1395 /* The juicy bits, append the specified value to the variable 1396 This is a heavily exerci ed code path in kBuild. */1396 This is a heavily exercised code path in kBuild. */ 1397 1397 if (v->recursive) 1398 1398 { … … 1406 1406 if ((unsigned)v->value_alloc_len <= new_value_len) 1407 1407 { 1408 /* XXX: anticipating further appends/prepends. */ 1409 if (value_len > v->value_alloc_len) 1410 v->value_alloc_len = (new_value_len + 0x80) + 0x7f; 1411 else 1412 v->value_alloc_len = (new_value_len + value_len + 0x80) + 0x7f; 1408 v->value_alloc_len *= 2; 1409 if (v->value_alloc_len < new_value_len) 1410 v->value_alloc_len = (new_value_len + value_len + 0x7f) + ~0x7fU; 1413 1411 if (append || !v->value_length) 1414 1412 v->value = xrealloc (v->value, v->value_alloc_len);
Note:
See TracChangeset
for help on using the changeset viewer.