X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=selector.git;a=blobdiff_plain;f=selector.c;h=edff2beafe0f7472bccffbc857e55f5c59e52b09;hp=b0f30ce688f56f54855203e89273b3a7731ed82e;hb=c06d16d13ad754eae97cb38dd45f684e0d8f1c07;hpb=5a419be6e30edacb1f0c90a553b71aa75a88122b diff --git a/selector.c b/selector.c index b0f30ce..edff2be 100644 --- a/selector.c +++ b/selector.c @@ -25,7 +25,7 @@ /* To use it as a super-history-search for bash: - selector --bash -l ${HISTSIZE} <(history) + selector --bash <(history) */ @@ -45,7 +45,7 @@ #include #include -#define VERSION "1.1.1" +#define VERSION "1.1.2" #define BUFFER_SIZE 4096 @@ -191,7 +191,7 @@ void usage(FILE *out) { fprintf(out, " -q, --no-beep\n"); fprintf(out, " make a flash instead of a beep on an edition error\n"); fprintf(out, " --bash\n"); - fprintf(out, " setting for bash history search, same as -b -i -d -v -w\n"); + fprintf(out, " setting for bash history search, same as -b -i -d -v -w -l ${HISTSIZE}\n"); fprintf(out, " --, --rest-are-files\n"); fprintf(out, " all following arguments are filenames\n"); fprintf(out, " -t , --title <title>\n"); @@ -855,6 +855,7 @@ int main(int argc, char **argv) { char **lines, **labels; int nb_lines; struct hash_table_t *hash_table; + char *bash_histsize; if(!isatty(STDIN_FILENO)) { fprintf(stderr, "selector: The standard input is not a tty.\n"); @@ -967,6 +968,10 @@ int main(int argc, char **argv) { remove_duplicates = 1; output_to_vt_buffer = 1; add_control_qs = 1; + bash_histsize = getenv("HISTSIZE"); + if(bash_histsize) { + str_to_positive_integers(bash_histsize, &nb_lines_max, 1); + } break; default: @@ -975,14 +980,14 @@ int main(int argc, char **argv) { } } - if(show_help || error) { - if(error) { - usage(stderr); - exit(EXIT_FAILURE); - } else { - usage(stdout); - exit(EXIT_SUCCESS); - } + if(error) { + usage(stderr); + exit(EXIT_FAILURE); + } + + if(show_help) { + usage(stdout); + exit(EXIT_SUCCESS); } lines = safe_malloc(nb_lines_max * sizeof(char *));