From fb5a9bc043cc4623e6b49277c0ec065e4beb42ee Mon Sep 17 00:00:00 2001 From: Jfreegman Date: Fri, 25 Jul 2014 15:43:51 -0400 Subject: [PATCH] fix backspace bug, simplify a bit --- src/input.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/input.c b/src/input.c index b061b7a..97b2543 100644 --- a/src/input.c +++ b/src/input.c @@ -66,13 +66,11 @@ static void input_backspace(ToxWindow *self, int x, int mx_x) return; } - int cur_len = wcwidth(ctx->line[ctx->pos]); - int s_len = wcwidth(ctx->line[ctx->start]); + int cur_len = ctx->pos > 0 ? wcwidth(ctx->line[ctx->pos - 1]) : 0; + int s_len = ctx->start > 0 ? wcwidth(ctx->line[ctx->start - 1]) : 0; if (ctx->start && (x >= mx_x - cur_len)) ctx->start = MAX(0, ctx->start - 1 + (s_len - cur_len)); - else if (ctx->start && (ctx->pos == ctx->len)) - ctx->start = MAX(0, ctx->start - cur_len); else if (ctx->start) ctx->start = MAX(0, ctx->start - cur_len); }