for (unsigned int i = 0; i < vector_active(result); i++) {
if (strlen(vector_slot(result, i)) == 0) {
XFREE(MTYPE_TMP, vector_slot(result, i));
- vector_remove(result, i);
- --i;
+ vector_unset(result, i);
}
}
+
+ vector_compact(result);
+
return result;
}
v->index[v->active] = NULL;
}
+void vector_compact(vector v)
+{
+ for (unsigned int i = 0; i < vector_active(v); ++i) {
+ if (vector_slot(v, i) == NULL) {
+ vector_remove(v, i);
+ --i;
+ }
+ }
+}
+
void vector_unset_value(vector v, void *val)
{
size_t i;
extern void vector_unset(vector v, unsigned int i);
extern void vector_unset_value(vector v, void *val);
extern void vector_remove(vector v, unsigned int ix);
+extern void vector_compact(vector v);
extern unsigned int vector_count(vector v);
extern void vector_free(vector v);
vector lines = frrstr_split_vec(buf, "\n");
frrstr_filter_vec(lines, &vty->include);
+ vector_compact(lines);
/*
* Consider the string "foo\n". If the regex is an empty string