[expand] remove blank expansions and strip spaces

This commit is contained in:
Al
2017-12-18 18:17:16 -05:00
parent ff3c7ab3b6
commit d03ce4e058
2 changed files with 17 additions and 1 deletions

View File

@@ -1428,13 +1428,27 @@ void expand_alternative_phrase_option(cstring_array *strings, khash_t(str_set) *
char_array_terminate(temp_string);
token = char_array_get_string(temp_string);
size_t token_len = strlen(token);
if (token_len == 0) continue;
size_t left_spaces = string_left_spaces_len(token, token_len);
size_t right_spaces = string_right_spaces_len(token, token_len);
if (left_spaces + right_spaces == token_len) {
continue;
}
log_debug("full string=%s\n", token);
khiter_t k = kh_get(str_set, unique_strings, token);
if (k == kh_end(unique_strings)) {
char *dupe_token = strndup(str + left_spaces, len - left_spaces - right_spaces);
log_debug("doing postprocessing\n");
add_postprocessed_string(strings, token, options);
k = kh_put(str_set, unique_strings, strdup(token), &ret);
k = kh_put(str_set, unique_strings, dupe_token, &ret);
}
log_debug("iter->remaining = %d\n", iter->remaining);

View File

@@ -119,6 +119,8 @@ ssize_t string_next_period(char *str);
bool string_contains_period_len(char *str, size_t len);
bool string_contains_period(char *str);
size_t string_left_spaces_len(char *str, size_t len);
size_t string_right_spaces_len(char *str, size_t len);
char *string_trim(char *str);
size_t string_hyphen_prefix_len(char *str, size_t len);