[RFC] rc.d integration for the bluetooth subsystem
Yar Tikhiy
yar at comp.chem.msu.su
Sat Nov 5 03:35:11 PST 2005
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
More information about the freebsd-bluetooth
mailing list