diff --git a/src/slash.c b/src/slash.c index 4d9834a..9b043d5 100644 --- a/src/slash.c +++ b/src/slash.c @@ -1008,7 +1008,8 @@ static void slash_delete(struct slash *slash) if (slash->cursor < slash->length) { slash->length--; memmove(&slash->buffer[slash->cursor], - &slash->buffer[slash->cursor + 1], slash->length - slash->cursor); + &slash->buffer[slash->cursor + 1], + slash->length - slash->cursor); slash->buffer[slash->length] = '\0'; } } @@ -1025,24 +1026,26 @@ static void slash_backspace(struct slash *slash) slash->cursor--; slash->length--; memmove(&slash->buffer[slash->cursor], - &slash->buffer[slash->cursor + 1], slash->length - slash->cursor); + &slash->buffer[slash->cursor + 1], + slash->length - slash->cursor); slash->buffer[slash->length] = '\0'; } } static void slash_delete_word(struct slash *slash) { - int old_cursor = slash->cursor, erased; + size_t old_cursor = slash->cursor; while (slash->cursor > 0 && slash->buffer[slash->cursor-1] == ' ') slash->cursor--; while (slash->cursor > 0 && slash->buffer[slash->cursor-1] != ' ') slash->cursor--; - erased = old_cursor - slash->cursor; - - memmove(slash->buffer + slash->cursor, slash->buffer + old_cursor, erased); - slash->length -= erased; + slash->length -= old_cursor - slash->cursor; + memmove(&slash->buffer[slash->cursor], + &slash->buffer[old_cursor], + slash->length - slash->cursor); + slash->buffer[slash->length] = '\0'; } static void slash_swap(struct slash *slash)