doveadm-print.c revision 09304bdc1e5e416aa343802732a15064f49495cc
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3Timo Sirainen/* Copyright (c) 2010 Dovecot authors, see the included COPYING file */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch const char *key;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch ARRAY_DEFINE(headers, struct doveadm_print_header_context);
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschstatic const struct doveadm_print_vfuncs *doveadm_print_vfuncs_all[] = {
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschvoid doveadm_print_header(const char *key, const char *title,
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch flags |= DOVEADM_PRINT_HEADER_FLAG_HIDE_TITLE;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch hdr_ctx->sticky = (flags & DOVEADM_PRINT_HEADER_FLAG_STICKY) != 0;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschvoid doveadm_print_header_simple(const char *key_title)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch doveadm_print_header(key_title, key_title, 0);
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch const struct doveadm_print_header_context *headers;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch unsigned int count;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch ctx->v->print(headers[ctx->header_idx].sticky_value);
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschvoid doveadm_print_sticky(const char *key, const char *value)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* command doesn't really print anything */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch array_foreach_modifiable(&ctx->headers, hdr) {
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch unsigned int i;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* already forced the type */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch pool = pool_alloconly_create("doveadm print", 1024);
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch ctx = p_new(pool, struct doveadm_print_context, 1);
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch for (i = 0; i < N_ELEMENTS(doveadm_print_vfuncs_all); i++) {