git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH/RFC 3/4] grep: introduce pattern which matches at line number

From
Bert Wesarg <bert.wesarg@googlemail.com>
Date
May 2, 2011, 14:32 UTC
Message-ID
<BANLkTi=qKGdZpU+-aG3tuM8mssb6FnmpHw@mail.gmail.com>
In-Reply-To
<BANLkTinUWbhCKyfpimUuvCsxnCmRi3E=dg@mail.gmail.com>
On Mon, May 2, 2011 at 15:33, Thiago Farina <tfransosi@gmail.com> wrote:
Show 47 quoted lines
> On Mon, May 2, 2011 at 8:39 AM, Bert Wesarg <bert.wesarg@googlemail.com> wrote:
>> Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
>> ---
>>  grep.c |   33 +++++++++++++++++++++++++++++++++
>>  grep.h |    7 +++++--
>>  2 files changed, 38 insertions(+), 2 deletions(-)
>>
>> diff --git a/grep.c b/grep.c
>> index f21b022..cbb3757 100644
>> --- a/grep.c
>> +++ b/grep.c
>> @@ -87,6 +87,15 @@ static void compile_regexp(struct grep_pat *p, struct grep_opt *opt)
>>        }
>>  }
>>
>> +static void parse_lno(struct grep_pat *p, struct grep_opt *opt)
> Maybe parse_line_number?
>
>> +{
>> +       char *eon;
>> +
>> +       p->u.lno = strtoul(p->pattern, &eon, 10);
>> +       if (*eon || p->u.lno == 0)
>> +               die("'%s': Invalid number for line match", p->pattern);
>> +}
>> +
>>  static struct grep_expr *compile_pattern_or(struct grep_pat **);
>>  static struct grep_expr *compile_pattern_atom(struct grep_pat **list)
>>  {
>> diff --git a/grep.h b/grep.h
>> index 9912c11..41821f3 100644
>> --- a/grep.h
>> +++ b/grep.h
>> @@ -10,7 +10,8 @@ enum grep_pat_token {
>>        GREP_OPEN_PAREN,
>>        GREP_CLOSE_PAREN,
>>        GREP_NOT,
>> -       GREP_OR
>> +       GREP_OR,
>> +       GREP_LNO
>
> Maybe GREP_LINE_NR?
>
>
>>  };
>>
>>  enum grep_context {

Yeah, I must admit that these symbols should probably get a more descriptive name.

Bert
Previous: Thiago FarinaNext: Thiago Farina
Message 7 of 22 in “grep: support to match by line number”
  1. 0/4 grep: support to match by line numberBert Wesarg, May 2, 2011
  2. 1/4 grep: prepare for re-using the space of the regexp member in struct grep_patBert Wesarg, May 2, 2011
  3. 2/4 grep: pass current line number down to match_one_patternBert Wesarg, May 2, 2011
  4. 3/4 grep: introduce pattern which matches at line numberBert Wesarg, May 2, 2011
  5. 4/4 grep: provide option to match line numberBert Wesarg, May 2, 2011
  6. Thiago FarinaMay 2, 2011
  7. Bert WesargMay 2, 2011
  8. Thiago FarinaMay 2, 2011
  9. Bert WesargMay 2, 2011
  10. Junio C HamanoMay 2, 2011
  11. Thiago FarinaMay 2, 2011
  12. Bert WesargMay 2, 2011
  13. Sverre RabbelierMay 2, 2011
  14. Bert WesargMay 2, 2011
  15. Junio C HamanoMay 2, 2011
  16. Bert WesargMay 2, 2011
  17. Junio C HamanoMay 2, 2011
  18. Junio C HamanoMay 2, 2011
  19. Jakub NarebskiMay 2, 2011
  20. Bert WesargMay 2, 2011
  21. Junio C HamanoMay 2, 2011
  22. Bert WesargMay 2, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.