MINOR: filters: extend flt_dump_kws() to dump to stdout
When passing a NULL output buffer the function will now dump to stdout
with a more compact format that is more suitable for machine processing.
An entry was added to dump_registered_keyword() to call it when the
keyword class "flt" is requested.
diff --git a/src/filters.c b/src/filters.c
index 06ae788..4594098 100644
--- a/src/filters.c
+++ b/src/filters.c
@@ -130,6 +130,7 @@
/*
* Dumps all registered "filter" keywords to the <out> string pointer. The
* unsupported keywords are only dumped if their supported form was not found.
+ * If <out> is NULL, the output is emitted using a more compact format on stdout.
*/
void
flt_dump_kws(char **out)
@@ -137,18 +138,20 @@
struct flt_kw_list *kwl;
int index;
- if (!out)
- return;
-
- *out = NULL;
+ if (out)
+ *out = NULL;
list_for_each_entry(kwl, &flt_keywords.list, list) {
for (index = 0; kwl->kw[index].kw != NULL; index++) {
if (kwl->kw[index].parse ||
flt_find_kw(kwl->kw[index].kw) == &kwl->kw[index]) {
- memprintf(out, "%s[%4s] %s%s\n", *out ? *out : "",
- kwl->scope,
- kwl->kw[index].kw,
- kwl->kw[index].parse ? "" : " (not supported)");
+ if (out)
+ memprintf(out, "%s[%4s] %s%s\n", *out ? *out : "",
+ kwl->scope,
+ kwl->kw[index].kw,
+ kwl->kw[index].parse ? "" : " (not supported)");
+ else
+ printf("%s [%s]\n",
+ kwl->kw[index].kw, kwl->scope);
}
}
}
diff --git a/src/haproxy.c b/src/haproxy.c
index b5f368d..6d28c52 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -1826,6 +1826,7 @@
printf("# List of supported keyword classes:\n");
printf("all: list all keywords\n");
printf("cfg: configuration keywords\n");
+ printf("flt: filter names\n");
continue;
}
else if (strcmp(kwd_dump, "all") == 0) {
@@ -1836,6 +1837,11 @@
printf("# List of registered configuration keywords:\n");
cfg_dump_registered_keywords();
}
+
+ if (all || strcmp(kwd_dump, "flt") == 0) {
+ printf("# List of registered filter names:\n");
+ flt_dump_kws(NULL);
+ }
}
}