const struct doveadm_cmd_param *par;
unsigned int i, k;
string_t *tmp;
- bool sent;
+ bool sent, first_cmd = TRUE;
tmp = str_new(req->pool, 8);
o_stream_nsend_str(output,"[\n");
for (i = 0; i < array_count(&doveadm_cmds_ver2); i++) {
cmd = array_idx(&doveadm_cmds_ver2, i);
- if (i > 0)
+ if ((cmd->flags & CMD_FLAG_HIDDEN) != 0)
+ continue;
+ if (first_cmd)
+ first_cmd = FALSE;
+ else
o_stream_nsend_str(output, ",\n");
o_stream_nsend_str(output, "\t{\"command\":\"");
json_append_escaped(tmp, cmd->name);
fprintf(stderr, "%s ", prefix);
fprintf(stderr, "<command> [<args>]\n");
- array_foreach(&doveadm_cmds_ver2, cmd2)
- str_printfa(str, "%s\t%s\n", cmd2->name, cmd2->usage);
+ array_foreach(&doveadm_cmds_ver2, cmd2) {
+ if ((cmd2->flags & CMD_FLAG_HIDDEN) == 0)
+ str_printfa(str, "%s\t%s\n", cmd2->name, cmd2->usage);
+ }
doveadm_usage_compress_lines(stderr, str_c(str), prefix);