};
static struct doveadm_print_context *ctx;
-static const struct doveadm_print_vfuncs *doveadm_print_vfuncs_all[] = {
- &doveadm_print_flow_vfuncs,
- &doveadm_print_tab_vfuncs,
- &doveadm_print_table_vfuncs,
- &doveadm_print_pager_vfuncs
-};
bool doveadm_print_is_initialized(void)
{
ctx->pool = pool;
p_array_init(&ctx->headers, pool, 16);
- for (i = 0; i < N_ELEMENTS(doveadm_print_vfuncs_all); i++) {
+ for (i = 0; doveadm_print_vfuncs_all[i] != NULL; i++) {
if (strcmp(doveadm_print_vfuncs_all[i]->name, name) == 0) {
ctx->v = doveadm_print_vfuncs_all[i];
break;
DOVEADM_PRINT_HEADER_FLAG_HIDE_TITLE = 0x04
};
+extern const struct doveadm_print_vfuncs *doveadm_print_vfuncs_all[];
+
bool doveadm_print_is_initialized(void);
void doveadm_print_header(const char *key, const char *title,
#include <stdlib.h>
#include <unistd.h>
+const struct doveadm_print_vfuncs *doveadm_print_vfuncs_all[] = {
+ &doveadm_print_flow_vfuncs,
+ &doveadm_print_tab_vfuncs,
+ &doveadm_print_table_vfuncs,
+ &doveadm_print_pager_vfuncs,
+ NULL
+};
+
static ARRAY_DEFINE(doveadm_cmds, struct doveadm_cmd);
void doveadm_register_cmd(const struct doveadm_cmd *cmd)