+int zsh_history = 0, bash_history = 0;
+int inverse_order = 0;
+int remove_duplicates = 0;
+
+//////////////////////////////////////////////////////////////////////
+
+// int test_and_set_hash(char *s, char **hashed, int hash_size) {
+ // uint32_t code = 0, mask;
+ // int result;
+
+ // for(int k = 0; s[k]; k++) {
+ // code += ((uint32_t) (s[k])) << (8 * k%4);
+ // }
+
+ // code = code%hash_table_size;
+
+ // if(hashed[code]) {
+ // } else {
+ // }
+// }
+
+//////////////////////////////////////////////////////////////////////
+
+// This looks severely Linux-only ...
+
+void inject_into_tty_buffer(char *line) {
+ struct termios oldtio, newtio;
+ tcgetattr(STDIN_FILENO,&oldtio);
+ memset(&newtio, 0, sizeof(newtio));
+ // Set input mode (non-canonical, *no echo*,...)
+ tcsetattr(STDIN_FILENO,TCSANOW, &newtio);
+ // Put the selected line in the tty input buffer
+ for(char *k = line; *k; k++) {
+ ioctl(STDIN_FILENO, TIOCSTI, k);
+ }
+ // Restore the old settings
+ tcsetattr(STDIN_FILENO,TCSANOW, &oldtio);
+}