From owner-svn-src-head@FreeBSD.ORG Thu Oct 21 10:38:14 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CEC1C1065670; Thu, 21 Oct 2010 10:38:14 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A2A608FC0A; Thu, 21 Oct 2010 10:38:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LAcEgF088215; Thu, 21 Oct 2010 10:38:14 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LAcEEs088213; Thu, 21 Oct 2010 10:38:14 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010211038.o9LAcEEs088213@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 21 Oct 2010 10:38:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214129 - head/lib/libgeom X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 10:38:14 -0000 Author: pjd Date: Thu Oct 21 10:38:14 2010 New Revision: 214129 URL: http://svn.freebsd.org/changeset/base/214129 Log: Remove code duplication by introducing static gctl_param_add() function which is now used by both gctl_ro_param() and gctl_rw_param(). Modified: head/lib/libgeom/geom_ctl.c Modified: head/lib/libgeom/geom_ctl.c ============================================================================== --- head/lib/libgeom/geom_ctl.c Thu Oct 21 10:36:36 2010 (r214128) +++ head/lib/libgeom/geom_ctl.c Thu Oct 21 10:38:14 2010 (r214129) @@ -150,8 +150,9 @@ gctl_new_arg(struct gctl_req *req) return (ap); } -void -gctl_ro_param(struct gctl_req *req, const char *name, int len, const void* value) +static void +gctl_param_add(struct gctl_req *req, const char *name, int len, void *value, + int flag) { struct gctl_req_arg *ap; @@ -165,8 +166,8 @@ gctl_ro_param(struct gctl_req *req, cons if (ap->name == NULL) return; ap->nlen = strlen(ap->name) + 1; - ap->value = __DECONST(void *, value); - ap->flag = GCTL_PARAM_RD; + ap->value = value; + ap->flag = flag; if (len >= 0) ap->len = len; else if (len < 0) { @@ -176,26 +177,17 @@ gctl_ro_param(struct gctl_req *req, cons } void -gctl_rw_param(struct gctl_req *req, const char *name, int len, void* value) +gctl_ro_param(struct gctl_req *req, const char *name, int len, const void* value) { - struct gctl_req_arg *ap; - if (req == NULL || req->error != NULL) - return; - ap = gctl_new_arg(req); - if (ap == NULL) - return; - ap->name = strdup(name); - gctl_check_alloc(req, ap->name); - if (ap->name == NULL) - return; - ap->nlen = strlen(ap->name) + 1; - ap->value = value; - ap->flag = GCTL_PARAM_RW; - if (len >= 0) - ap->len = len; - else if (len < 0) - ap->len = strlen(value) + 1; + gctl_param_add(req, name, len, __DECONST(void *, value), GCTL_PARAM_RD); +} + +void +gctl_rw_param(struct gctl_req *req, const char *name, int len, void *value) +{ + + gctl_param_add(req, name, len, value, GCTL_PARAM_RW); } const char *