On 14-02-05 09:51:17, Andrew Gregory wrote:
> On 02/04/14 at 12:16am, Pierre Neidhardt wrote:
> >     # We grab the following fields: repo, name, ver, group, installed, and
> >     # desc. We grab leading space for 'group' and 'installed' so that we do 
> > not
> >     # need to test if non-empty when printing.
> > -   my @pkgfields = /^(.*?)\/(.*?) (.*?)( \(.*?\))?( \[.*\])?\n(.*)$/s;
> > +   my @pkgfields = /^(.*?)\/(.*?) (.*?)( \(.*?\))?( \[.*\])?$/s;
> > +   my $desc = <$syncout>;
> 
> The description needs to be read after the check for a regex match,
> otherwise that line will just be lost on failures.

Actually this is done on purpose. If we do not read 'desc' right now, on failure
the next line will be that description which will be parsed as if it were a
'repo/pkgname pkgver ...' line.

I am getting you wrong on this?

> >     if(not @pkgfields) {
> >             # skip any non-matching line and just print it for the user
> >             print $_, "\n";
> 
> This newline needs to be removed.

Right, forgot that. Thought I cannot find a case when that happens.

-- 
Pierre Neidhardt

Generosity and perfection are your everlasting goals.

Reply via email to