Code

wreadln: return early from cursor movement functions
authorMax Kellermann <max@duempel.org>
Mon, 6 Oct 2008 12:56:13 +0000 (14:56 +0200)
committerMax Kellermann <max@duempel.org>
Mon, 6 Oct 2008 12:56:13 +0000 (14:56 +0200)
Unclutter these functions by removing one indent level.

src/wreadln.c

index 6c66895f7611c6e43edbeeb418a0b5c753e2abd7..59026ed08d9c5fa9f6c3299d2784605affbc38bd 100644 (file)
@@ -74,22 +74,24 @@ wrln_gcmp_post_cb_t wrln_post_completion_callback = NULL;
 /* move the cursor one step to the right */
 static inline void cursor_move_right(struct wreadln *wr)
 {
-       if (wr->cursor < strlen(wr->line)) {
-               ++wr->cursor;
-               if (wr->cursor >= (size_t)wr->width &&
-                   wr->start < wr->cursor - wr->width + 1)
-                       ++wr->start;
-       }
+       if (wr->line[wr->cursor] == 0)
+               return;
+
+       ++wr->cursor;
+       if (wr->cursor >= (size_t)wr->width &&
+           wr->start < wr->cursor - wr->width + 1)
+               ++wr->start;
 }
 
 /* move the cursor one step to the left */
 static inline void cursor_move_left(struct wreadln *wr)
 {
-       if (wr->cursor > 0) {
-               if (wr->cursor == wr->start && wr->start > 0)
-                       --wr->start;
-               --wr->cursor;
-       }
+       if (wr->cursor == 0)
+               return;
+
+       if (wr->cursor == wr->start && wr->start > 0)
+               --wr->start;
+       --wr->cursor;
 }
 
 /* move the cursor to the end of the line */