summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer2008-09-26 14:10:17 +0000
committerBernhard Reutner-Fischer2008-09-26 14:10:17 +0000
commit48a6773b3ae627a67ab7b191df0063dcefc3f470 (patch)
tree8d6a07081b087e82771b88e8a16ad769835e0175
parentfd3552dff905e03842197291a2a3627acd53756c (diff)
downloadbusybox-48a6773b3ae627a67ab7b191df0063dcefc3f470.zip
busybox-48a6773b3ae627a67ab7b191df0063dcefc3f470.tar.gz
- add less -I to be able to search case-insensitively
+17b, but the helptext is quite elaborate, thus: function old new delta .rodata 118995 119032 +37 packed_usage 24731 24767 +36 regex_process 284 300 +16 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/0 up/down: 89/0) Total: 89 bytes
-rw-r--r--include/usage.h3
-rw-r--r--miscutils/less.c6
2 files changed, 6 insertions, 3 deletions
diff --git a/include/usage.h b/include/usage.h
index ac6376a..24008de 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -2078,7 +2078,7 @@
"5\n"
#define less_trivial_usage \
- "[-EMNmh~?] [FILE...]"
+ "[-EMNmh~I?] [FILE...]"
#define less_full_usage "\n\n" \
"View a file or list of files. The position within files can be\n" \
"changed, and files can be manipulated in various ways.\n" \
@@ -2087,6 +2087,7 @@
"\n -M,-m Display a status line containing the line numbers" \
"\n and percentage through the file" \
"\n -N Prefix line numbers to each line" \
+ "\n -I Ignore case in all searches" \
"\n -~ Suppress ~s displayed past the end of the file" \
#define linux32_trivial_usage NOUSAGE_STR
diff --git a/miscutils/less.c b/miscutils/less.c
index 530a40a..cd47590 100644
--- a/miscutils/less.c
+++ b/miscutils/less.c
@@ -79,6 +79,7 @@ enum {
FLAG_m = 1 << 2,
FLAG_N = 1 << 3,
FLAG_TILDE = 1 << 4,
+ FLAG_I = 1 << 5,
/* hijack command line options variable for internal state vars */
LESS_STATE_MATCH_BACKWARDS = 1 << 15,
};
@@ -965,7 +966,8 @@ static void regex_process(void)
}
/* Compile the regex and check for errors */
- err = regcomp_or_errmsg(&pattern, uncomp_regex, 0);
+ err = regcomp_or_errmsg(&pattern, uncomp_regex,
+ option_mask32 & FLAG_I ? REG_ICASE : 0);
free(uncomp_regex);
if (err) {
print_statusline(err);
@@ -1359,7 +1361,7 @@ int less_main(int argc, char **argv)
/* TODO: -x: do not interpret backspace, -xx: tab also */
/* -xxx: newline also */
/* -w N: assume width N (-xxx -w 32: hex viewer of sorts) */
- getopt32(argv, "EMmN~");
+ getopt32(argv, "EMmN~I");
argc -= optind;
argv += optind;
num_files = argc;