struct termios oldtio, newtio;
const char *k;
const char control_q = '\021';
struct termios oldtio, newtio;
const char *k;
const char control_q = '\021';
if(n_opt + n >= argc) {
fprintf(stderr, "Selector: Missing argument for %s, expecting %s.\n",
argv[n_opt], help);
if(n_opt + n >= argc) {
fprintf(stderr, "Selector: Missing argument for %s, expecting %s.\n",
argv[n_opt], help);
-/* The table itself stores indexes of the strings taken in a char
- **table. When a string is added, if it was already in the table,
- **the new index replaces the previous one. */
+/* The table itself stores indexes of the strings taken in a char**
+ table. When a string is added, if it was already in the table, the
+ new index replaces the previous one. */
string was not already in the table, returns -1. Otherwise, returns
the previous index it had. */
string was not already in the table, returns -1. Otherwise, returns
the previous index it had. */
-int add_and_get_previous_index(hash_table_t *hash_table,
- const char *new_string, int new_index, char **strings) {
+int add_and_get_previous_index(struct hash_table_t *hash_table,
+ const char *new_string, int new_index,
+ char **strings) {
- matcher->regexp_error = regcomp(&matcher->preg, pattern, case_sensitive ? 0 : REG_ICASE);
+ matcher->regexp_error = regcomp(&matcher->preg, pattern,
+ case_sensitive ? 0 : REG_ICASE);
- matcher->splitted_patterns = (char *) malloc((strlen(pattern) + 1) * sizeof(char));
- matcher->patterns = (char **) malloc(matcher->nb_patterns * sizeof(char *));
+ matcher->splitted_patterns =
+ (char *) malloc((strlen(pattern) + 1) * sizeof(char));
+
+ matcher->patterns =
+ (char **) malloc(matcher->nb_patterns * sizeof(char *));
-int previous_visible(int current_line, int nb_lines, char **lines, matcher_t *matcher) {
+int previous_visible(int current_line, int nb_lines, char **lines,
+ matcher_t *matcher) {
int line = current_line - 1;
while(line >= 0 && !match(lines[line], matcher)) line--;
return line;
}
int line = current_line - 1;
while(line >= 0 && !match(lines[line], matcher)) line--;
return line;
}
-int next_visible(int current_line, int nb_lines, char **lines, matcher_t *matcher) {
+int next_visible(int current_line, int nb_lines, char **lines,
+ matcher_t *matcher) {
int line = current_line + 1;
while(line < nb_lines && !match(lines[line], matcher)) line++;
int line = current_line + 1;
while(line < nb_lines && !match(lines[line], matcher)) line++;
if(match(lines[*current_focus_line], &matcher)) {
new_focus_line = *current_focus_line;
} else {
if(match(lines[*current_focus_line], &matcher)) {
new_focus_line = *current_focus_line;
} else {
- new_focus_line = next_visible(*current_focus_line, nb_lines, lines, &matcher);
+ new_focus_line = next_visible(*current_focus_line, nb_lines, lines,
+ &matcher);
- new_focus_line = previous_visible(*current_focus_line, nb_lines, lines, &matcher);
+ new_focus_line = previous_visible(*current_focus_line, nb_lines, lines,
+ &matcher);
/* We find the first and last line to show, so that the total of
visible lines between them (them included) is
console_height-1 */
/* We find the first and last line to show, so that the total of
visible lines between them (them included) is
console_height-1 */
const char *input_filename,
int nb_lines_max, int *nb_lines, char **lines) {
const char *input_filename,
int nb_lines_max, int *nb_lines, char **lines) {
if(strcmp(argv[i], "-o") == 0) {
check_opt(argc, argv, i, 1, "<output filename>");
if(strcmp(argv[i], "-o") == 0) {
check_opt(argc, argv, i, 1, "<output filename>");
- check_opt(argc, argv, i, 4, "<fg modeline> <bg modeline> <fg highlight> <bg highlight>");
+ check_opt(argc, argv, i, 4,
+ "<fg modeline> <bg modeline> <fg highlight> <bg highlight>");
color_fg_modeline = string_to_positive_integer(argv[i + 1]);
color_bg_modeline = string_to_positive_integer(argv[i + 2]);
color_fg_highlight = string_to_positive_integer(argv[i + 3]);
color_fg_modeline = string_to_positive_integer(argv[i + 1]);
color_bg_modeline = string_to_positive_integer(argv[i + 2]);
color_fg_highlight = string_to_positive_integer(argv[i + 3]);
- fprintf(out, "Selector version %s-R%s\n", VERSION, REVISION_NUMBER);
+ fprintf(out, "Selector version %s-R%s (%s)\n", VERSION, REVISION_NUMBER, UNAME);
fprintf(out, "\n");
fprintf(out, " -h show this help\n");
fprintf(out, " -v inject the selected line in the tty\n");
fprintf(out, "\n");
fprintf(out, " -h show this help\n");
fprintf(out, " -v inject the selected line in the tty\n");
intrflush(stdscr, FALSE);
/* So that the arrow keys work */
intrflush(stdscr, FALSE);
/* So that the arrow keys work */