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 _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"