Fixed the line lengths to fill the console width fully.
[selector.git] / selector.c
index 1081617..3b68b47 100644 (file)
@@ -3,7 +3,7 @@
  *  selector is a simple command line utility for selection of strings
  *  with a dynamic pattern-matching.
  *
- *  Copyright (c) 2009, 2010 Francois Fleuret
+ *  Copyright (c) 2009, 2010, 2011 Francois Fleuret
  *  Written by Francois Fleuret <francois@fleuret.org>
  *
  *  This file is part of selector.
@@ -603,32 +603,24 @@ void update_screen(int *current_focus_line, int *displayed_focus_line,
         if(match(&matcher, lines[l])) {
           int k = 0;
 
-          while(lines[l][k] && k < BUFFER_SIZE - 2 && k < console_width - 2) {
+          while(lines[l][k] && k < BUFFER_SIZE - 2 && k < console_width) {
             buffer[k] = lines[l][k];
             k++;
           }
 
-          /* We fill the rest of the line with blanks if this is the
-             highlighted line */
+          /* Highlight the highlighted line ... */
 
           if(l == new_focus_line) {
             while(k < console_width) {
               buffer[k++] = ' ';
             }
-          }
-
-          buffer[k++] = '\n';
-          buffer[k++] = '\0';
-
-          clrtoeol();
-
-          /* Highlight the highlighted line ... */
-
-          if(l == new_focus_line) {
             attron(attr_focus_line);
             addnstr(buffer, console_width);
             attroff(attr_focus_line);
           } else {
+            buffer[k++] = '\n';
+            buffer[k++] = '\0';
+            /* clrtoeol(); */
             addnstr(buffer, console_width);
           }