Hi Bartosz Golaszewski

I do not like those !ENABLE_EXTRA_COMPAT
since the human brain makes a lot of problems with reverse logic.
would you mind to change that here ?


re,
 wh

Am 06.02.2014 21:34, schrieb Bartosz Golaszewski:
> Pass the REG_NOTBOL flag to subsequent regexec calls.
> 
> function                                             old     new   delta
> grep_file                                           1995    2008     +13
> ------------------------------------------------------------------------------
> (add/remove: 0/0 grow/shrink: 1/0 up/down: 13/0)               Total: 13 bytes
>    text    data     bss     dec     hex filename
> 1224816    2131    9092 1236039  12dc47 busybox_old
> 1224829    2131    9092 1236052  12dc54 busybox_unstripped
> 
> Signed-off-by: Bartosz Golaszewski <[email protected]>
> ---
>  findutils/grep.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/findutils/grep.c b/findutils/grep.c
> index a7bc4ca..7cd9c19 100644
> --- a/findutils/grep.c
> +++ b/findutils/grep.c
> @@ -375,6 +375,8 @@ static int grep_file(FILE *file)
>                       } else {
>  #if ENABLE_EXTRA_COMPAT
>                               unsigned start_pos;
> +#else
> +                             int match_flg;
>  #endif
>                               char *match_at;
>  
> @@ -392,15 +394,15 @@ static int grep_file(FILE *file)
>  #if !ENABLE_EXTRA_COMPAT
>                               gl->matched_range.rm_so = 0;
>                               gl->matched_range.rm_eo = 0;
> +                             match_flg = 0;
>  #else
>                               start_pos = 0;
>  #endif
>                               match_at = line;
>   opt_w_again:
> -//bb_error_msg("'%s' start_pos:%d line_len:%d", match_at, start_pos, 
> line_len);
>                               if (
>  #if !ENABLE_EXTRA_COMPAT
> -                                     regexec(&gl->compiled_regex, match_at, 
> 1, &gl->matched_range, 0) == 0
> +                                     regexec(&gl->compiled_regex, match_at, 
> 1, &gl->matched_range, match_flg) == 0
>  #else
>                                       re_search(&gl->compiled_regex, 
> match_at, line_len,
>                                                       start_pos, /*range:*/ 
> line_len,
> @@ -432,6 +434,7 @@ static int grep_file(FILE *file)
>  #if !ENABLE_EXTRA_COMPAT
>                                                               if 
> (gl->matched_range.rm_eo != 0) {
>                                                                       
> match_at += gl->matched_range.rm_eo;
> +                                                                     
> match_flg |= REG_NOTBOL;
>                                                                       goto 
> opt_w_again;
>                                                               }
>  #else
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to