diff --git a/options.c b/options.c index 09850f7e..9bc89db3 100644 --- a/options.c +++ b/options.c @@ -157,8 +157,7 @@ options_value_to_string(struct options_entry *o, union options_value *ov, case OPTIONS_TABLE_CHOICE: s = xstrdup(o->tableentry->choices[ov->number]); break; - case OPTIONS_TABLE_STRING: - case OPTIONS_TABLE_COMMAND: + default: fatalx("not a number option type"); } return (s); @@ -311,6 +310,8 @@ options_default_to_string(const struct options_table_entry *oe) case OPTIONS_TABLE_CHOICE: s = xstrdup(oe->choices[oe->default_num]); break; + default: + fatalx("unknown option type"); } return (s); } @@ -703,7 +704,7 @@ options_get_number(struct options *oo, const char *name) if (o == NULL) fatalx("missing option %s", name); if (!OPTIONS_IS_NUMBER(o)) - fatalx("option %s is not a number", name); + fatalx("option %s is not a number", name); return (o->value.number); } diff --git a/server-client.c b/server-client.c index 75a5719c..c3342d6a 100644 --- a/server-client.c +++ b/server-client.c @@ -1778,11 +1778,11 @@ server_client_check_exit(struct client *c) switch (c->exit_type) { case CLIENT_EXIT_RETURN: - if (c->exit_message != NULL) { + if (c->exit_message != NULL) msize = strlen(c->exit_message) + 1; - size = (sizeof c->retval) + msize; - } else - size = (sizeof c->retval); + else + msize = 0; + size = (sizeof c->retval) + msize; data = xmalloc(size); memcpy(data, &c->retval, sizeof c->retval); if (c->exit_message != NULL) diff --git a/window-copy.c b/window-copy.c index bfa94aed..889a536d 100644 --- a/window-copy.c +++ b/window-copy.c @@ -3453,10 +3453,10 @@ window_copy_synchronize_cursor_end(struct window_mode_entry *wme, int begin, struct window_copy_mode_data *data = wme->data; u_int xx, yy; + xx = data->cx; yy = screen_hsize(data->backing) + data->cy - data->oy; switch (data->selflag) { case SEL_WORD: - xx = data->cx; if (no_reset) break; begin = 0; @@ -3482,10 +3482,8 @@ window_copy_synchronize_cursor_end(struct window_mode_entry *wme, int begin, } break; case SEL_LINE: - if (no_reset) { - xx = data->cx; + if (no_reset) break; - } begin = 0; if (data->dy > yy) { /* Right to left selection. */ @@ -3505,7 +3503,6 @@ window_copy_synchronize_cursor_end(struct window_mode_entry *wme, int begin, } break; case SEL_CHAR: - xx = data->cx; break; } if (begin) { @@ -4784,22 +4781,22 @@ window_copy_start_drag(struct client *c, struct mouse_event *m) if (x < data->selrx || x > data->endselrx || yg != data->selry) data->selflag = SEL_CHAR; switch (data->selflag) { - case SEL_WORD: - if (data->ws != NULL) { - window_copy_update_cursor(wme, x, y); - window_copy_cursor_previous_word_pos(wme, - data->ws, 0, &x, &y); - y -= screen_hsize(data->backing) - data->oy; - } + case SEL_WORD: + if (data->ws != NULL) { window_copy_update_cursor(wme, x, y); - break; - case SEL_LINE: - window_copy_update_cursor(wme, 0, y); - break; - case SEL_CHAR: - window_copy_update_cursor(wme, x, y); - window_copy_start_selection(wme); - break; + window_copy_cursor_previous_word_pos(wme, data->ws, 0, + &x, &y); + y -= screen_hsize(data->backing) - data->oy; + } + window_copy_update_cursor(wme, x, y); + break; + case SEL_LINE: + window_copy_update_cursor(wme, 0, y); + break; + case SEL_CHAR: + window_copy_update_cursor(wme, x, y); + window_copy_start_selection(wme); + break; } window_copy_redraw_screen(wme); diff --git a/window-customize.c b/window-customize.c index 1dad07cd..a1f191b5 100644 --- a/window-customize.c +++ b/window-customize.c @@ -190,13 +190,6 @@ window_customize_scope_text(enum window_customize_scope scope, u_int idx; switch (scope) { - case WINDOW_CUSTOMIZE_NONE: - case WINDOW_CUSTOMIZE_KEY: - case WINDOW_CUSTOMIZE_SERVER: - case WINDOW_CUSTOMIZE_GLOBAL_SESSION: - case WINDOW_CUSTOMIZE_GLOBAL_WINDOW: - s = xstrdup(""); - break; case WINDOW_CUSTOMIZE_PANE: window_pane_index(fs->wp, &idx); xasprintf(&s, "pane %u", idx); @@ -207,6 +200,9 @@ window_customize_scope_text(enum window_customize_scope scope, case WINDOW_CUSTOMIZE_WINDOW: xasprintf(&s, "window %u", fs->wl->idx); break; + default: + s = xstrdup(""); + break; } return (s); }