- Timestamp:
- Dec 29, 2008 3:43:12 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/function.c
r2154 r2157 2270 2270 return math_int_to_variable_buffer (o, len); 2271 2271 } 2272 2272 2273 /* 2273 2274 $(length-var var) … … 2283 2284 2284 2285 2285 /* func_insert helper. */2286 static char * 2287 helper_ insert_pad (char *o, size_t to_add, const char *pad, size_t pad_len)2286 /* func_insert and func_substr helper. */ 2287 static char * 2288 helper_pad (char *o, size_t to_add, const char *pad, size_t pad_len) 2288 2289 { 2289 2290 while (to_add > 0) … … 2359 2360 { 2360 2361 o = variable_buffer_output (o, str, str_len); 2361 o = helper_ insert_pad (o, n - str_len, pad, pad_len);2362 o = helper_pad (o, n - str_len, pad, pad_len); 2362 2363 } 2363 2364 } … … 2369 2370 { 2370 2371 o = variable_buffer_output (o, in, in_len); 2371 o = helper_ insert_pad (o, length - in_len, pad, pad_len);2372 o = helper_pad (o, length - in_len, pad, pad_len); 2372 2373 } 2373 2374 … … 2510 2511 start--; /* one-origin */ 2511 2512 if (start >= str_len) 2512 return length ? helper_ insert_pad (o, length, pad, pad_len) : o;2513 return length ? helper_pad (o, length, pad, pad_len) : o; 2513 2514 if (length == 0) 2514 2515 length = str_len - start; … … 2520 2521 { 2521 2522 if (start + length <= 0) 2522 return length ? helper_ insert_pad (o, length, pad, pad_len) : o;2523 o = helper_ insert_pad (o, -start, pad, pad_len);2523 return length ? helper_pad (o, length, pad, pad_len) : o; 2524 o = helper_pad (o, -start, pad, pad_len); 2524 2525 return variable_buffer_output (o, str, length + start); 2525 2526 } … … 2532 2533 { 2533 2534 o = variable_buffer_output (o, str + start, str_len - start); 2534 o = helper_ insert_pad (o, start + length - str_len, pad, pad_len);2535 o = helper_pad (o, start + length - str_len, pad, pad_len); 2535 2536 } 2536 2537 } … … 5304 5305 restore_variable_buffer (buf, len); 5305 5306 reading_file = reading_file_saved; 5307 5308 /* Deal with the .RETURN value if present. */ 5309 5310 v = lookup_variable_in_set (".RETURN", sizeof (".RETURN") - 1, 5311 current_variable_set_list->set); 5312 if (v && v->value_length) 5313 { 5314 if (v->recursive) 5315 { 5316 v->exp_count = EXP_COUNT_MAX; 5317 variable_expand_string_2 (o, v->value, v->value_length, &o); 5318 v->exp_count = 0; 5319 } 5320 else 5321 o = variable_buffer_output (o, v->value, v->value_length); 5322 } 5306 5323 } 5307 5324 #endif /* CONFIG_WITH_EVALPLUS */
Note:
See TracChangeset
for help on using the changeset viewer.