Cosmetics.
[selector.git] / selector.cc
index 7422fd6..568da6e 100644 (file)
@@ -388,6 +388,12 @@ void update_screen(int *current_line, int *temporary_line, int motion,
 //////////////////////////////////////////////////////////////////////
 
 int main(int argc, char **argv) {
+
+  if(!ttyname(STDIN_FILENO)) {
+    cerr << "The standard input is not a tty." << endl;
+    exit(1);
+  }
+
   char buffer[buffer_size];
   int color_fg_modeline, color_bg_modeline;
   int color_fg_highlight, color_bg_highlight;
@@ -562,6 +568,8 @@ int main(int argc, char **argv) {
         lines[nb_lines] = new char[strlen(s) + 1];
         strcpy(lines[nb_lines], s);
       } else {
+        // We do not allocate a new string but use the pointer to the
+        // first occurence of it
         lines[nb_lines] = lines[dup];
         lines[dup] = 0;
       }
@@ -572,6 +580,8 @@ int main(int argc, char **argv) {
 
   delete[] hash_table;
 
+  // Now remove the null strings
+
   int n = 0;
   for(int k = 0; k < nb_lines; k++) {
     if(lines[k]) {
@@ -593,8 +603,19 @@ int main(int argc, char **argv) {
   int pattern_point;
   pattern_point = 0;
 
+  //////////////////////////////////////////////////////////////////////
+  // Here we start to display with curse
+
   initscr();
 
+  noecho();
+
+  // Hide the cursor
+  curs_set(0);
+
+  // So that the arrow keys work
+  keypad(stdscr, TRUE);
+
   if(with_colors) {
     if(has_colors()) {
       start_color();
@@ -615,10 +636,6 @@ int main(int argc, char **argv) {
     }
   }
 
-  noecho();
-  curs_set(0); // Hide the cursor
-  keypad(stdscr, TRUE); // So that the arrow keys work
-
   int key;
   int current_line = 0, temporary_line = 0;
 
@@ -685,6 +702,9 @@ int main(int argc, char **argv) {
   curs_set(1);
   endwin();
 
+  //////////////////////////////////////////////////////////////////////
+  // Here we come back to standard display
+
   if((key == KEY_ENTER || key == '\n')) {
 
     if(output_to_vt_buffer) {