From owner-freebsd-rc@FreeBSD.ORG Mon Nov 7 18:27:42 2005 Return-Path: X-Original-To: freebsd-rc@freebsd.org Delivered-To: freebsd-rc@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 19FF316A41F; Mon, 7 Nov 2005 18:27:42 +0000 (GMT) (envelope-from maksim.yevmenkin@savvis.net) Received: from ismybrain.com (ismybrain.com [64.246.42.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id 18E7443D67; Mon, 7 Nov 2005 18:27:40 +0000 (GMT) (envelope-from maksim.yevmenkin@savvis.net) Received: from [10.254.186.111] (localhost.localdomain [127.0.0.1]) by ismybrain.com (8.11.6/8.11.6) with ESMTP id jA7IRQJ18890; Mon, 7 Nov 2005 13:27:27 -0500 Message-ID: <436F9C8B.1000300@savvis.net> Date: Mon, 07 Nov 2005 10:27:23 -0800 From: Maksim Yevmenkin User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050404) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Yar Tikhiy 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> In-Reply-To: <20051105113503.GA13863@comp.chem.msu.su> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-bluetooth@freebsd.org, freebsd-rc@freebsd.org, Panagiotis Astithas Subject: Re: [RFC] rc.d integration for the bluetooth subsystem X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Nov 2005 18:27:42 -0000 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