T_BEGIN {
ctx->v.init(ctx);
} T_END;
+ doveadm_print_header_disallow(TRUE);
if (hook_doveadm_mail_init != NULL)
hook_doveadm_mail_init(ctx);
T_BEGIN {
ctx->v.init(ctx);
} T_END;
+ doveadm_print_header_disallow(TRUE);
if (wildcard_user != NULL) {
mail_storage_service_all_init_mask(ctx->storage_service,
static struct doveadm_print_context *ctx;
static bool doveadm_print_init_disallowed = FALSE;
+static bool doveadm_print_header_disallowed = FALSE;
bool doveadm_print_is_initialized(void)
{
i_assert(title != NULL);
+ if (doveadm_print_header_disallowed)
+ i_panic("doveadm_print_header() is called in wrong place");
+
i_zero(&hdr);
hdr.key = key;
hdr.title = title;
ctx = NULL;
doveadm_print_init_disallowed = FALSE;
+ doveadm_print_header_disallowed = FALSE;
}
void doveadm_print_init_disallow(bool disallow)
{
doveadm_print_init_disallowed = disallow;
}
+
+void doveadm_print_header_disallow(bool disallow)
+{
+ doveadm_print_header_disallowed = disallow;
+}
/* Panic if doveadm_print_init() is attempted to be called. This is reset also
by doveadm_print_deinit(). */
void doveadm_print_init_disallow(bool disallow);
+/* Panic is doveadm_print_header*() is attempted to be called. This is reset
+ also by doveadm_print_deinit(). */
+void doveadm_print_header_disallow(bool disallow);
void doveadm_print_formatted_set_format(const char *format);