X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fsvec.c;h=9d0f313d9966bda0b22147c95a8d73b4f0b9481a;hb=cfae8ec3e7ba9e02d4f994f77ef70435cd3575e5;hp=078b107042195900bf35da392cefd48b35161f07;hpb=efacbce62f4ca3baf305441641ee35aa5b657442;p=sliver-openvswitch.git diff --git a/lib/svec.c b/lib/svec.c index 078b10704..9d0f313d9 100644 --- a/lib/svec.c +++ b/lib/svec.c @@ -366,6 +366,22 @@ svec_join(const struct svec *svec, return ds_cstr(&ds); } +/* Breaks 's' into tokens at any character in 'delimiters', and appends each + * token to 'svec'. Empty tokens are not added. */ +void +svec_split(struct svec *svec, const char *s_, const char *delimiters) +{ + char *s = xstrdup(s_); + char *save_ptr = NULL; + char *token; + + for (token = strtok_r(s, delimiters, &save_ptr); token != NULL; + token = strtok_r(NULL, delimiters, &save_ptr)) { + svec_add(svec, token); + } + free(s); +} + const char * svec_back(const struct svec *svec) {