From owner-cvs-src@FreeBSD.ORG Wed Feb 4 16:38:05 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5226016A4CE; Wed, 4 Feb 2004 16:38:05 -0800 (PST) Received: from smtp.des.no (flood.des.no [217.116.83.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4C81943D3F; Wed, 4 Feb 2004 16:37:58 -0800 (PST) (envelope-from des@des.no) Received: by smtp.des.no (Pony Express, from userid 666) id 233C25311; Thu, 5 Feb 2004 01:37:57 +0100 (CET) Received: from dwp.des.no (des.no [80.203.228.37]) by smtp.des.no (Pony Express) with ESMTP id 9E68F5308; Thu, 5 Feb 2004 01:37:49 +0100 (CET) Received: by dwp.des.no (Postfix, from userid 2602) id 449C333C6A; Thu, 5 Feb 2004 01:37:49 +0100 (CET) To: "Poul-Henning Kamp" References: <35302.1075933799@critter.freebsd.dk> From: des@des.no (Dag-Erling =?iso-8859-1?q?Sm=F8rgrav?=) Date: Thu, 05 Feb 2004 01:37:49 +0100 In-Reply-To: <35302.1075933799@critter.freebsd.dk> (Poul-Henning Kamp's message of "Wed, 04 Feb 2004 23:29:59 +0100") Message-ID: User-Agent: Gnus/5.090024 (Oort Gnus v0.24) Emacs/21.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on flood.des.no X-Spam-Level: X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=no version=2.63 cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: Pawel Jakub Dawidek cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/etc/rc.d gbde_swap X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Feb 2004 00:38:05 -0000 --=-=-= Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Here's another one: don't generate a template file if we're not going to let the user edit it. DES --=20 Dag-Erling Sm=F8rgrav - des@des.no --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=gbde.diff Index: gbde.c =================================================================== RCS file: /home/ncvs/src/sbin/gbde/gbde.c,v retrieving revision 1.20 diff -u -r1.20 gbde.c --- gbde.c 3 Feb 2004 11:12:29 -0000 1.20 +++ gbde.c 5 Feb 2004 00:35:21 -0000 @@ -505,29 +505,37 @@ err(1, "%s", f_opt); params = properties_read(i); close (i); - } else { + } else if (i_opt) { /* XXX: Polish */ - q = strdup("/tmp/temp.XXXXXXXXXX"); + asprintf(&q, "%stemp.XXXXXXXXXX", _PATH_TMP); + if (q == NULL) + err(1, "asprintf"); i = mkstemp(q); if (i < 0) err(1, "%s", q); write(i, template, strlen(template)); close (i); - if (i_opt) { - p = getenv("EDITOR"); - if (p == NULL) - p = "vi"; - if (snprintf(cbuf, sizeof(cbuf), "%s %s\n", p, q) >= - (ssize_t)sizeof(cbuf)) - errx(1, "EDITOR is too long"); - system(cbuf); - } + p = getenv("EDITOR"); + if (p == NULL) + p = "vi"; + if (snprintf(cbuf, sizeof(cbuf), "%s %s\n", p, q) >= + (ssize_t)sizeof(cbuf)) + errx(1, "EDITOR is too long"); + system(cbuf); i = open(q, O_RDONLY); if (i < 0) err(1, "%s", f_opt); params = properties_read(i); close (i); unlink(q); + free(q); + } else { + /* XXX: Hack */ + i = open(_PATH_DEVNULL, O_RDONLY); + if (i < 0) + err(1, "%s", _PATH_DEVNULL); + params = properties_read(i); + close (i); } /* */ @@ -615,13 +623,15 @@ /* */ p = property_find(params, "number_of_keys"); - if (p == NULL) - errx(1, "Missing number_of_keys property"); - nkeys = strtoul(p, &q, 0); - if (!*p || *q) - errx(1, "number_of_keys not a proper number"); - if (nkeys < 1 || nkeys > G_BDE_MAXKEYS) - errx(1, "number_of_keys out of range"); + if (p != NULL) { + nkeys = strtoul(p, &q, 0); + if (!*p || *q) + errx(1, "number_of_keys not a proper number"); + if (nkeys < 1 || nkeys > G_BDE_MAXKEYS) + errx(1, "number_of_keys out of range"); + } else { + nkeys = 4; + } for (u = 0; u < nkeys; u++) { for(;;) { do { --=-=-=--