Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 07 Nov 2005 10:27:23 -0800
From:      Maksim Yevmenkin <maksim.yevmenkin@savvis.net>
To:        Yar Tikhiy <yar@comp.chem.msu.su>
Cc:        freebsd-bluetooth@freebsd.org, freebsd-rc@freebsd.org, Panagiotis Astithas <past@ebs.gr>
Subject:   Re: [RFC] rc.d integration for the bluetooth subsystem
Message-ID:  <436F9C8B.1000300@savvis.net>
In-Reply-To: <20051105113503.GA13863@comp.chem.msu.su>
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> <20051105113503.GA13863@comp.chem.msu.su>

next in thread | previous in thread | raw e-mail | index | archive | help
Yar Tikhiy wrote:
> 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

sure. only need to

if expr "$_line" : "[a-zA-Z0-9_]*=" > /dev/null 2>&1 ; then
...
fi

i do not really have any objection to this. since i already pass the 
value through eval i might as well pass the entire line.

> BTW, couldn't just err() or warn() be used instead of ${logger}?

i guess they could

> And AFAIK stdin to a while loop can be redirected w/o enclosing
> the loop in braces.

sure, but it looked more clear (to me anyway) this way :)

so does this look like something?

http://people.freebsd.org/~emax/bluetooth-rc-2.diff.txt

any other comments, suggestions, objections? please speak.

thanks,
max



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