On Monday 26 September 2011, Gary V wrote:
> >> 
> > Maybe some code like this should be enough to catch most potential
> > erroneous definitions?
> > 
> >  case $po_download_command_format in
> >    *[^%]%s*[^%]%s*) ;;
> >    *) fatal "invalid format in \$po_download_command_format";;
> >  esac
> 
> That's better than nothing, but catches 2 or more %s specifiers and not
> 'exactly two'.
>
Oops, sorry! *blush*

> This is far from perfect too, but a step closer perhaps?
> 
>   case `echo $po_download_command_format |sed 's,[^%]*\(%[^%]\),\1,g'` in
>     %s%s) ;;
>     *) fatal 'invalid format in $po_download_command_format' ;;
>   esac
> 
> ??
>
Or this, to avoid one fork and possible quotation problems:

  case $po_download_command_format in
    *[^%]%s*[^%]%s*[^%]%s*) false;;
    *[^%]%s*[^%]%s*) : ;;
    *) false;;
  esac || fatal "invalid format in \$po_download_command_format"

Either way, fine with me.

Thanks,
  Stefano

Reply via email to