Added the code for the -a option, which was missing (?!).
[selector.git] / selector.cc
index 99a9057..bd50899 100644 (file)
@@ -138,6 +138,7 @@ int *new_hash_table(int hash_table_size) {
 
 int test_and_add(char *new_string, int new_index,
                  char **strings, int *hash_table, int hash_table_size) {
+
   unsigned int code = 0;
 
   // This is my recipe. I checked, it seems to work (as long as
@@ -581,8 +582,10 @@ void read_file(const char *input_filename,
 
       // Remove the bash history prefix
 
-      if(bash_history && (*t == ' ' || (*t >= '0' && *t <= '9'))) {
-        while(*t == ' ' || (*t >= '0' && *t <= '9')) t++;
+      if(bash_history) {
+        while(*t == ' ') t++;
+        while(*t >= '0' && *t <= '9') t++;
+        while(*t == ' ') t++;
       }
 
       // Copy the string while transforming the ctrl characters into
@@ -711,6 +714,8 @@ int main(int argc, char **argv) {
     }
 
     else if(strcmp(argv[i], "-a") == 0) {
+      case_sensitive = 1;
+      i++;
     }
 
     else if(strcmp(argv[i], "-t") == 0) {
@@ -960,7 +965,10 @@ int main(int argc, char **argv) {
     update_screen(&current_line, &temporary_line, motion,
                   nb_lines, lines, cursor_position, pattern);
 
-  } while(key != '\n' && key != KEY_ENTER && key != '\007'); // ^G
+  } while(key != '\007' && // ^G
+          key != '\033' && // ^[ (escape)
+          key != '\n' &&
+          key != KEY_ENTER);
 
   echo();
   endwin();