svn commit: r210254 - in head/etc: defaults periodic/security

Jilles Tjoelker jilles at stack.nl
Wed Jul 21 11:42:13 UTC 2010


On Tue, Jul 20, 2010 at 08:03:33PM +0300, Alex Kozlov wrote:
> On Tue, Jul 20, 2010 at 05:25:05PM +0300, Alex Kozlov wrote:
> > > > +				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.
> It's seems I was wrong, We have more that 10k files with spaces in ports.
> What do think about this solution?

> Index: etc/periodic/security/460.chkportsum
> @@ -26,8 +26,10 @@
>  			;;
>  			Mismatched|'') ;;
>  			*)
> -			if [ -n ${name} ]; then
> -				echo ${name}: ${one}
> +			if [ -n "${name}" ]; then
> +				#handle filenames with spaces
> +				file="${one} ${two} ${three}"
> +				echo "${name}: ${file%% fails the original MD5 checksum}"
>  			fi
>  			;;
>  		esac

This works but collapses sequences of multiple spaces (or even tabs) to
a single space.

-- 
Jilles Tjoelker


More information about the svn-src-head mailing list