From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1C38xO-0001w5-UO for qemu-devel@nongnu.org; Fri, 03 Sep 2004 03:58:03 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1C38xM-0001uR-7h for qemu-devel@nongnu.org; Fri, 03 Sep 2004 03:58:01 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C38xL-0001uD-Qx for qemu-devel@nongnu.org; Fri, 03 Sep 2004 03:58:00 -0400 Received: from [130.136.1.101] (helo=lea.cs.unibo.it) by monty-python.gnu.org with esmtp (Exim 4.34) id 1C38sI-0004Nk-9c for qemu-devel@nongnu.org; Fri, 03 Sep 2004 03:52:47 -0400 Date: Fri, 3 Sep 2004 09:52:43 +0200 Message-ID: <20040903075243.GC28568@cs.unibo.it> References: <000501c48eda$a026ab40$20649c3f@computername> <1093903154.26682.44.camel@aragorn> <002001c48ee5$456d6a30$20389c3f@computername> <000601c48f73$752b00a0$03389c3f@computername> <1093969628.2835.98.camel@fred.soliddesign.net> <005301c48f82$067c5af0$82389c3f@computername> <20040902204601.GA21292@jbrown.mylinuxbox.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="C7zPtVaVf+AK4Oqc" Content-Disposition: inline In-Reply-To: <20040902204601.GA21292@jbrown.mylinuxbox.org> From: renzo@cs.unibo.it (Renzo Davoli) Subject: [Qemu-devel] Filegetopt (Was: Qemu development schedule?) Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --C7zPtVaVf+AK4Oqc Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I sent to Fabrice my filegetopt library. (I am not blaming in any way Fabrice that we know is very overbusy in a productive way). I made a test integration with an old version of qemu long time ago. It has been designed to convert programs using getopt_long. It has been released under the LGPL then can be used by a BSD, or there is no problem to simply "get inspired" for a configuration file management. ciao renzo filegetopt is here attached. --C7zPtVaVf+AK4Oqc Content-Type: application/x-gtar Content-Disposition: attachment; filename="filegetopt.tgz" Content-Transfer-Encoding: base64 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 --C7zPtVaVf+AK4Oqc--