size_t cmd_copy_buffer_print(struct cmd *self, char *buf, size_t len) { struct cmd_copy_buffer_data *data = self->data; size_t off = 0; off += xsnprintf(buf, len, "%s", self->entry->name); if (data == NULL) return (off); if (off < len && data->src_idx != -1) { off += xsnprintf(buf + off, len - off, " -a %d", data->src_idx); } if (off < len && data->dst_idx != -1) { off += xsnprintf(buf + off, len - off, " -b %d", data->dst_idx); } if (off < len && data->src_session != NULL) { off += cmd_prarg(buf + off, len - off, " -s ", data->src_session); } if (off < len && data->dst_session != NULL) { off += cmd_prarg(buf + off, len - off, " -t ", data->dst_session); } return (off); }
size_t cmd_split_window_print(struct cmd *self, char *buf, size_t len) { struct cmd_split_window_data *data = self->data; size_t off = 0; off += xsnprintf(buf, len, "%s", self->entry->name); if (data == NULL) return (off); if (off < len && data->flag_detached) off += xsnprintf(buf + off, len - off, " -d"); if (off < len && data->flag_horizontal) off += xsnprintf(buf + off, len - off, " -h"); if (off < len && data->size > 0) off += xsnprintf(buf + off, len - off, " -l %d", data->size); if (off < len && data->percentage > 0) { off += xsnprintf( buf + off, len - off, " -p %d", data->percentage); } if (off < len && data->target != NULL) off += cmd_prarg(buf + off, len - off, " -t ", data->target); if (off < len && data->cmd != NULL) off += cmd_prarg(buf + off, len - off, " ", data->cmd); return (off); }
size_t cmd_paste_buffer_print(struct cmd *self, char *buf, size_t len) { struct cmd_paste_buffer_data *data = self->data; size_t off = 0; char tmp[BUFSIZ]; int r_flag; r_flag = 0; if (data->sepstr != NULL) r_flag = (data->sepstr[0] == '\n' && data->sepstr[1] == '\0'); off += xsnprintf(buf, len, "%s", self->entry->name); if (data == NULL) return (off); if (off < len && data->flag_delete) off += xsnprintf(buf + off, len - off, " -d"); if (off < len && r_flag) off += xsnprintf(buf + off, len - off, " -r"); if (off < len && data->buffer != -1) off += xsnprintf(buf + off, len - off, " -b %d", data->buffer); if (off < len && data->sepstr != NULL && !r_flag) { strnvis( tmp, data->sepstr, sizeof tmp, VIS_OCTAL|VIS_TAB|VIS_NL); off += cmd_prarg(buf + off, len - off, " -s ", tmp); } if (off < len && data->target != NULL) off += cmd_prarg(buf + off, len - off, " -t ", data->target); return (off); }
size_t cmd_bind_key_print(struct cmd *self, char *buf, size_t len) { struct cmd_bind_key_data *data = self->data; size_t off = 0; const char *skey; off += xsnprintf(buf, len, "%s", self->entry->name); if (data == NULL) return (off); if (off < len && data->command_key) off += xsnprintf(buf + off, len - off, " -c"); if (off < len && !(data->key & KEYC_PREFIX)) off += xsnprintf(buf + off, len - off, " -n"); if (off < len && data->can_repeat) off += xsnprintf(buf + off, len - off, " -r"); if (off < len && data->tablename != NULL) off += cmd_prarg(buf + off, len - off, " -t ", data->tablename); if (off < len) { skey = key_string_lookup_key(data->key & ~KEYC_PREFIX); off += xsnprintf(buf + off, len - off, " %s ", skey); } if (off < len) off += cmd_list_print(data->cmdlist, buf + off, len - off); return (off); }
size_t cmd_target_print(struct cmd *self, char *buf, size_t len) { struct cmd_target_data *data = self->data; size_t off = 0; off += xsnprintf(buf, len, "%s", self->entry->name); if (data == NULL) return (off); off += cmd_print_flags(buf, len, off, data->chflags); if (off < len && data->target != NULL) off += cmd_prarg(buf + off, len - off, " -t ", data->target); if (off < len && data->arg != NULL) off += cmd_prarg(buf + off, len - off, " ", data->arg); if (off < len && data->arg2 != NULL) off += cmd_prarg(buf + off, len - off, " ", data->arg2); return (off); }
size_t cmd_new_window_print(struct cmd *self, char *buf, size_t len) { struct cmd_new_window_data *data = self->data; size_t off = 0; off += xsnprintf(buf, len, "%s", self->entry->name); if (data == NULL) return (off); if (off < len && data->flag_detached) off += xsnprintf(buf + off, len - off, " -d"); if (off < len && data->target != NULL) off += cmd_prarg(buf + off, len - off, " -t ", data->target); if (off < len && data->name != NULL) off += cmd_prarg(buf + off, len - off, " -n ", data->name); if (off < len && data->cmd != NULL) off += cmd_prarg(buf + off, len - off, " ", data->cmd); return (off); }
size_t cmd_switch_client_print(struct cmd *self, char *buf, size_t len) { struct cmd_switch_client_data *data = self->data; size_t off = 0; off += xsnprintf(buf, len, "%s", self->entry->name); if (data == NULL) return (off); if (off < len && data->flag_next) off += xsnprintf(buf + off, len - off, "%s", " -n"); if (off < len && data->flag_previous) off += xsnprintf(buf + off, len - off, "%s", " -p"); if (off < len && data->name != NULL) off += cmd_prarg(buf + off, len - off, " -c ", data->name); if (off < len && data->target != NULL) off += cmd_prarg(buf + off, len - off, " -t ", data->target); return (off); }
size_t cmd_source_file_print(struct cmd *self, char *buf, size_t len) { struct cmd_source_file_data *data = self->data; size_t off = 0; off += xsnprintf(buf, len, "%s", self->entry->name); if (data == NULL) return (off); if (off < len && data->path != NULL) off += cmd_prarg(buf + off, len - off, " ", data->path); return (off); }
size_t cmd_send_keys_print(struct cmd *self, char *buf, size_t len) { struct cmd_send_keys_data *data = self->data; size_t off = 0; u_int i; off += xsnprintf(buf, len, "%s", self->entry->name); if (data == NULL) return (off); if (off < len && data->target != NULL) off += cmd_prarg(buf + off, len - off, " -t ", data->target); for (i = 0; i < data->nkeys; i++) { if (off >= len) break; off += xsnprintf(buf + off, len - off, " %s", key_string_lookup_key(data->keys[i])); } return (off); }