mirror of
https://github.com/sheumann/hush.git
synced 2025-01-15 03:33:06 +00:00
Fix handling of ^$ by removing the newline from input lines and by not
compiling with REG_NEWLINE.
This commit is contained in:
parent
9a6e67c960
commit
567cdd1d51
@ -56,7 +56,7 @@ static void print_matched_line(char *line, int linenum)
|
|||||||
if (print_line_num)
|
if (print_line_num)
|
||||||
printf("%i:", linenum);
|
printf("%i:", linenum);
|
||||||
|
|
||||||
printf("%s", line);
|
puts(line);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void grep_file(FILE *file)
|
static void grep_file(FILE *file)
|
||||||
@ -67,6 +67,8 @@ static void grep_file(FILE *file)
|
|||||||
int nmatches = 0;
|
int nmatches = 0;
|
||||||
|
|
||||||
while ((line = get_line_from_file(file)) != NULL) {
|
while ((line = get_line_from_file(file)) != NULL) {
|
||||||
|
if (line[strlen(line)-1] == '\n')
|
||||||
|
line[strlen(line)-1] = '\0';
|
||||||
linenum++;
|
linenum++;
|
||||||
ret = regexec(®ex, line, 0, NULL, 0);
|
ret = regexec(®ex, line, 0, NULL, 0);
|
||||||
if (ret == 0 && !invert_search) { /* match */
|
if (ret == 0 && !invert_search) { /* match */
|
||||||
@ -144,7 +146,7 @@ extern int grep_main(int argc, char **argv)
|
|||||||
/* compile the regular expression
|
/* compile the regular expression
|
||||||
* we're not going to mess with sub-expressions, and we need to
|
* we're not going to mess with sub-expressions, and we need to
|
||||||
* treat newlines right. */
|
* treat newlines right. */
|
||||||
reflags = REG_NOSUB | REG_NEWLINE;
|
reflags = REG_NOSUB;
|
||||||
if (ignore_case)
|
if (ignore_case)
|
||||||
reflags |= REG_ICASE;
|
reflags |= REG_ICASE;
|
||||||
xregcomp(®ex, argv[optind], reflags);
|
xregcomp(®ex, argv[optind], reflags);
|
||||||
|
6
grep.c
6
grep.c
@ -56,7 +56,7 @@ static void print_matched_line(char *line, int linenum)
|
|||||||
if (print_line_num)
|
if (print_line_num)
|
||||||
printf("%i:", linenum);
|
printf("%i:", linenum);
|
||||||
|
|
||||||
printf("%s", line);
|
puts(line);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void grep_file(FILE *file)
|
static void grep_file(FILE *file)
|
||||||
@ -67,6 +67,8 @@ static void grep_file(FILE *file)
|
|||||||
int nmatches = 0;
|
int nmatches = 0;
|
||||||
|
|
||||||
while ((line = get_line_from_file(file)) != NULL) {
|
while ((line = get_line_from_file(file)) != NULL) {
|
||||||
|
if (line[strlen(line)-1] == '\n')
|
||||||
|
line[strlen(line)-1] = '\0';
|
||||||
linenum++;
|
linenum++;
|
||||||
ret = regexec(®ex, line, 0, NULL, 0);
|
ret = regexec(®ex, line, 0, NULL, 0);
|
||||||
if (ret == 0 && !invert_search) { /* match */
|
if (ret == 0 && !invert_search) { /* match */
|
||||||
@ -144,7 +146,7 @@ extern int grep_main(int argc, char **argv)
|
|||||||
/* compile the regular expression
|
/* compile the regular expression
|
||||||
* we're not going to mess with sub-expressions, and we need to
|
* we're not going to mess with sub-expressions, and we need to
|
||||||
* treat newlines right. */
|
* treat newlines right. */
|
||||||
reflags = REG_NOSUB | REG_NEWLINE;
|
reflags = REG_NOSUB;
|
||||||
if (ignore_case)
|
if (ignore_case)
|
||||||
reflags |= REG_ICASE;
|
reflags |= REG_ICASE;
|
||||||
xregcomp(®ex, argv[optind], reflags);
|
xregcomp(®ex, argv[optind], reflags);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user