From nobody Mon Feb 9 04:45:10 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 155412394059558.67329545962821; Mon, 1 Apr 2019 06:05:40 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 051EAC0733EC; Mon, 1 Apr 2019 13:05:39 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D2FB25D706; Mon, 1 Apr 2019 13:05:38 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 81B3C3FB15; Mon, 1 Apr 2019 13:05:37 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x31D5FlQ016022 for ; Mon, 1 Apr 2019 09:05:15 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5B891108F835; Mon, 1 Apr 2019 13:05:15 +0000 (UTC) Received: from angien.brq.redhat.com (unknown [10.43.2.229]) by smtp.corp.redhat.com (Postfix) with ESMTP id D310A1001DD1 for ; Mon, 1 Apr 2019 13:05:14 +0000 (UTC) From: Peter Krempa To: libvir-list@redhat.com Date: Mon, 1 Apr 2019 15:04:55 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 04/10] util: buffer: Remove struct member munging X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Mon, 01 Apr 2019 13:05:39 +0000 (UTC) Content-Type: text/plain; charset="utf-8" This was meant to stop abusing the members directly, but we don't do this for other cases. Additionally this did not stop the test from touching the members. Remove the header obscurization. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/util/virbuffer.c | 12 ------------ src/util/virbuffer.h | 16 ++++++---------- tests/virbuftest.c | 2 +- 3 files changed, 7 insertions(+), 23 deletions(-) diff --git a/src/util/virbuffer.c b/src/util/virbuffer.c index 12bdd13d39..8bb9c8e1fa 100644 --- a/src/util/virbuffer.c +++ b/src/util/virbuffer.c @@ -23,24 +23,12 @@ #include #include "c-ctype.h" -#define __VIR_BUFFER_C__ - #include "virbuffer.h" #include "virerror.h" #include "virstring.h" #define VIR_FROM_THIS VIR_FROM_NONE -/* If adding more fields, ensure to edit buf.h to match - the number of fields */ -struct _virBuffer { - unsigned int size; - unsigned int use; - unsigned int error; /* errno value, or -1 for usage error */ - int indent; - char *content; -}; - /** * virBufferFail * @buf: the buffer diff --git a/src/util/virbuffer.h b/src/util/virbuffer.h index b399c90154..16cd8515d6 100644 --- a/src/util/virbuffer.h +++ b/src/util/virbuffer.h @@ -35,19 +35,15 @@ typedef struct _virBuffer virBuffer; typedef virBuffer *virBufferPtr; -# ifndef __VIR_BUFFER_C__ -# define VIR_BUFFER_INITIALIZER { 0, 0, 0, 0, NULL } +# define VIR_BUFFER_INITIALIZER { 0, 0, 0, 0, NULL } -/* This struct must be kept in sync with the real struct - in the buf.c impl file */ struct _virBuffer { - unsigned int a; - unsigned int b; - unsigned int c; - int d; - char *e; + unsigned int size; + unsigned int use; + unsigned int error; /* errno value, or -1 for usage error */ + int indent; + char *content; }; -# endif const char *virBufferCurrentContent(virBufferPtr buf); char *virBufferContentAndReset(virBufferPtr buf); diff --git a/tests/virbuftest.c b/tests/virbuftest.c index 34f02b1281..b608da94d4 100644 --- a/tests/virbuftest.c +++ b/tests/virbuftest.c @@ -29,7 +29,7 @@ static int testBufInfiniteLoop(const void *data) * which was the case after the above addchar at the time of the bug. * This test is a bit fragile, since it relies on virBuffer internals. */ - if (virAsprintf(&addstr, "%*s", buf->a - buf->b - 1, "a") < 0) + if (virAsprintf(&addstr, "%*s", buf->size - buf->use - 1, "a") < 0) goto out; if (info->doEscape) --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list