Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Jul 2010 17:25:05 +0300
From:      Alex Kozlov <spam@rm-rf.kiev.ua>
To:        Jilles Tjoelker <jilles@stack.nl>, Gabor Kovesdan <gabor@FreeBSD.org>, svn-src-head@freebsd.org, spam@rm-rf.kiev.ua
Subject:   Re: svn commit: r210254 - in head/etc: defaults periodic/security
Message-ID:  <20100720142505.GA28760@ravenloft.kiev.ua>

next in thread | raw e-mail | index | archive | help
On Tue, Jul 20, 2010 at 02:58:46PM +0200, Jilles Tjoelker wrote:
> On Mon, Jul 19, 2010 at 08:19:14PM +0000, Gabor Kovesdan wrote:
> > +	pkg_info -ga 2>/dev/null | \
> 
> The stderr output is also interesting, as it contains error messages
> about files that are in a package but do not exist. Unfortunately,
>   pkg_info -ga 2>&1 | ...
> will mix the stderr with the stdout in an unusable way. I suppose
> pkg_info -g should be modified so the missing files are in the stdout.
I know, but I couldn't find a reliable way to parse mixed output.
If You modify pkg_info it will be great. I immediately fix this script.

> > +			;;
> > +			Mismatched|'') ;;
> > +			*)
> > +			if [ -n ${name} ]; then
> Note that this is true if name is empty or not set. You probably want
>   [ -n "${name}" ]
Yes, good catch.

> 
> > +				echo ${name}: ${one}
> 
> This handles pathnames with spaces incorrectly. Consider reading lines
> with
>   IFS= read -r line
> This also collapses the nested case statements to one, for
> 'Information for'*, Mismatched*, '' and /*.
> 
> The variables in the echo commands should be quoted to avoid word
> splitting and pathname generation.
It's makes parser stateful and overly complex, I will think about most
simple way to do this. Fortunately, at the moment very few, if any, ports
have files with space in names.


--
Adios




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100720142505.GA28760>