// create iostream
doveadm_print_ostream = iostream_temp_create("/tmp/doveadm.", 0);
+ cctx.cmd = conn->cmd;
+
+ if ((cctx.cmd->flags & CMD_FLAG_NO_PRINT) == 0)
+ doveadm_print_init(DOVEADM_PRINT_TYPE_JSON);
- doveadm_print_init(DOVEADM_PRINT_TYPE_JSON);
/* then call it */
doveadm_cmd_params_null_terminate_arrays(&conn->pargv);
cctx.argv = array_get(&conn->pargv, (unsigned int*)&cctx.argc);
lib_signals_reset_ioloop();
doveadm_exit_code = 0;
- cctx.cmd = conn->cmd;
cctx.cli = FALSE;
cctx.local_ip = conn->client.local_ip;
cctx.local_port = conn->client.local_port;
io_loop_set_current(ioloop);
io_loop_destroy(&ioloop);
- doveadm_print_deinit();
+ if ((cctx.cmd->flags & CMD_FLAG_NO_PRINT) == 0)
+ doveadm_print_deinit();
if (o_stream_nfinish(doveadm_print_ostream)<0) {
i_info("Error writing output in command %s: %s",
conn->cmd->name,