Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Nov 2005 14:35:03 +0300
From:      Yar Tikhiy <yar@comp.chem.msu.su>
To:        Maksim Yevmenkin <maksim.yevmenkin@savvis.net>
Cc:        freebsd-bluetooth@freebsd.org, Brooks Davis <brooks@one-eyed-alien.net>, freebsd-rc@freebsd.org
Subject:   Re: [RFC] rc.d integration for the bluetooth subsystem
Message-ID:  <20051105113503.GA13863@comp.chem.msu.su>
In-Reply-To: <436BE02D.2020404@savvis.net>
References:  <4357CEA5.1000308@savvis.net> <4357D9E2.6010701@ebs.gr> <4367E346.4080106@savvis.net> <20051102111709.GD2465@comp.chem.msu.su> <20051102161311.GA8499@odin.ac.hmc.edu> <43690365.60909@savvis.net> <20051102190655.GA3961@odin.ac.hmc.edu> <436A6649.7000602@savvis.net> <20051103203217.GA30685@odin.ac.hmc.edu> <436BE02D.2020404@savvis.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Nov 04, 2005 at 02:26:53PM -0800, Maksim Yevmenkin wrote:
> All,
> 
> please find next revision of bluetooth-rc stuff at
> 
> http://people.freebsd.org/~emax/bluetooth-rc-1.diff.txt
> 
> in this revision i have moved all bluetooth configuration files under 
> /etc/bluetooth. bluetooth.device.sample is now called 'default.conf' and 
> file that contain device specific overrides called '$dev.conf' (i.e. 
> 'ubt0.conf').
> 
> so, '/etc/rc.d/bluetooth start $dev' does the following
> 
> 1) sets hardwired defaults (for backward compatibility)
> 
> 2) reads up /etc/bluetooth/default.conf (if any)
> 
> 3) reads up /etc/bluetooth/$dev.conf (if any)
> 
> 4) starts the stack
> 
> even though /etc/bluetooth/{default,$dev}.conf are not exactly shell 
> scripts they are still kinda like shell scripts :) these files should 
> follow sh(1) syntax to set the variable, comments etc.
> 
> the parser in bluetooth_read_conf() is very simple and value of a 
> variable is still used in sh(1) eval. so one must be careful when 
> editing these files.

What about simplifying the inner parser code even more:

	case "$_line" in
	''|\#*)
		;;
	*)
		if expr "$_line" : "[a-zA-Z0-9_]*="; then
			eval "${_namespace}${_line}"
		else
			${logger} "Unable to parse line \"$_line\" in $_file"
			return 1
		fi
		;;
	esac

BTW, couldn't just err() or warn() be used instead of ${logger}?
And AFAIK stdin to a while loop can be redirected w/o enclosing
the loop in braces.

-- 
Yar



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