diff --git a/keywordset.c b/keywordset.c index 374d6ab8..1ce14df3 100644 --- a/keywordset.c +++ b/keywordset.c @@ -115,6 +115,21 @@ void keywordset_update(struct keywordset *kws, char *input) { keywordset_update_phase(kws, input, PHASE_UPDATE); } +void keywordset_add(struct keywordset *kws, char *input) { + char *c=input; + char *name_start; + while (*c) { + while (*c && isspace(*c)) + c++; + if (*c) { + name_start=c++; + while (*c && !isspace(*c)) + c++; + add_name(kws, name_start, c-name_start); + } + } +} + struct keywordset *keywordset_new(char *input) { struct keywordset *kws = xmalloc(sizeof(*kws)); kws->nr_slots = KEYWORDSET_INITIAL_SLOTS; diff --git a/keywordset.h b/keywordset.h index 7484235b..26b60b02 100644 --- a/keywordset.h +++ b/keywordset.h @@ -3,6 +3,7 @@ struct keywordset *keywordset_new(char *input); void keywordset_update(struct keywordset *kws, char *input); +void keywordset_add(struct keywordset *kws, char *input); char *keywordset_get(struct keywordset *kws); int keywordset_ismember(struct keywordset *kws, char *name); void keywordset_purge(struct keywordset *kws);