From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161262; cv=none; d=zohomail.com; s=zohoarc; b=AC7xUEsAK0LmTIFGQrZIk9HNtyJFk8Xu5l9jmXMiaZV0rFj8pofvog35HpzWFjqQmfPe8gGbgmKwoPgzkShFitKpwObepSsYl3a7J0/Hynzytcl8MlUdJTs1kH9PEyU/cMPCPj/IETz02X9GNlfrYlGUChvsyADrGkPly7l2KV0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161262; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GZo5wy4nPrfx/mSiUDTwi2pKM+9qGPHBm6ffZ/XCySk=; b=AUOAEI43G4y+C1xVHNoxSoXuLsWWYGw4kzRAL8EJkKoCUVAYi5oQQ/pvVIrBVzr1l+syelD5+BoVN04qUCjhSrzIbcdj5Jq/hxmGetOA2Qo57yNlwLRBf22P6y0Ucb+ObMc2lu01q3j4u5HnEIQvG7GZVWSW46AJA4L9jjW25kk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161262483111.73019070527448; Mon, 23 Nov 2020 11:54:22 -0800 (PST) Received: from localhost ([::1]:60940 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khHun-0002FN-CR for importer@patchew.org; Mon, 23 Nov 2020 14:54:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58666) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpK-00069T-Pw for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:46 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:27660) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpH-0007jz-TC for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:42 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-528-bNoAumd8NvqXgUj9KR4amg-1; Mon, 23 Nov 2020 14:48:36 -0500 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6827F1007483 for ; Mon, 23 Nov 2020 19:48:22 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 28BE15D6DC; Mon, 23 Nov 2020 19:48:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GZo5wy4nPrfx/mSiUDTwi2pKM+9qGPHBm6ffZ/XCySk=; b=N6W/TLyt25CA8h20ipcU0wUBAPPRjMdVkf1df/HO1visK9RxMv30PVWDki+ohbjcle6p9X Y/P6MbgM0EcMTZgwaCx/J3RFp1KY+G3CgIMifzTp8KpFc8mS8hiNhxxPSaFuwfVXeSef10 u1meVnjNFstGexcg8ILYIMNAyp60GFQ= X-MC-Unique: bNoAumd8NvqXgUj9KR4amg-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 01/19] qnum: Make qnum_get_double() get const pointer Date: Mon, 23 Nov 2020 14:48:00 -0500 Message-Id: <20201123194818.2773508-2-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) qnum_get_double() won't change the object, the argument can be const. Reviewed-by: Marc-Andr=C3=A9 Lureau Signed-off-by: Eduardo Habkost --- include/qapi/qmp/qnum.h | 2 +- qobject/qnum.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/qapi/qmp/qnum.h b/include/qapi/qmp/qnum.h index bbae0a5ec8..3e9ecd324e 100644 --- a/include/qapi/qmp/qnum.h +++ b/include/qapi/qmp/qnum.h @@ -64,7 +64,7 @@ int64_t qnum_get_int(const QNum *qn); bool qnum_get_try_uint(const QNum *qn, uint64_t *val); uint64_t qnum_get_uint(const QNum *qn); =20 -double qnum_get_double(QNum *qn); +double qnum_get_double(const QNum *qn); =20 char *qnum_to_string(QNum *qn); =20 diff --git a/qobject/qnum.c b/qobject/qnum.c index 7012fc57f2..d328d91fcb 100644 --- a/qobject/qnum.c +++ b/qobject/qnum.c @@ -144,7 +144,7 @@ uint64_t qnum_get_uint(const QNum *qn) * * qnum_get_double() loses precision for integers beyond 53 bits. */ -double qnum_get_double(QNum *qn) +double qnum_get_double(const QNum *qn) { switch (qn->kind) { case QNUM_I64: --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161448; cv=none; d=zohomail.com; s=zohoarc; b=WUhMs9uSBUGF1kev/reb6677ZZSa3AzLnu52CjNZD/wfr9bjKvlxL+hUx4jVtdpr0AMkaKbBFbUTXxWHf7yif5xWZtCDKgiClm0nKf2h30FayPtp2OQPfBTrPJftQDnGbOa/88u+9lQG0t6upwHRFoo/f6DdUYVoXWGyMQZEdb8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161448; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FAUVZP9nYfuG8G2+CohpECtHtyf1TwVHOQefZEgDKOI=; b=PGxduqjSN+km1qFFJ6q+wKJwZMh3qOkpo+NJLciesLehHkDuE5+p5HHY4QqsV/hey+KDj2vprgPfOhiks8Sdk8Bp8SO4Cvou8p0XFmnRqdzmdLkGDBKpBy114K4x5A2VkEEc8atyBG/Km8HaltdPEKToj7PfB9N5lqtnf3zd6Mw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161448751763.3210174127067; Mon, 23 Nov 2020 11:57:28 -0800 (PST) Received: from localhost ([::1]:41250 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khHxm-0005uQ-Gh for importer@patchew.org; Mon, 23 Nov 2020 14:57:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58682) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpO-00069w-JJ for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:46 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:24693) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpI-0007k2-7D for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:46 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-272-Cqsf9VSdMWa44_otnDMnsw-1; Mon, 23 Nov 2020 14:48:36 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C13B063CE6 for ; Mon, 23 Nov 2020 19:48:26 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4495E10021AA; Mon, 23 Nov 2020 19:48:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FAUVZP9nYfuG8G2+CohpECtHtyf1TwVHOQefZEgDKOI=; b=QokVownIuf4EbvZiELuA4jG1DTXzx+jVdxBoiXWvitksQcXy5JjJM0TPIAIGTnBNc7PYHe HSS4S8+ys+/CvCThGKRDpBi2JZVWfqJi3SIOk4R+mxkz1POfWgFlehDPxk9vz9FihjEUCY MQrpmaSVxlX9P8zr/ebR7Eok1mpiJlI= X-MC-Unique: Cqsf9VSdMWa44_otnDMnsw-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 02/19] qnum: Make num_x/num_y variables at qnum_is_equal() const Date: Mon, 23 Nov 2020 14:48:01 -0500 Message-Id: <20201123194818.2773508-3-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" qobject_to() drops const-ness by accident, but our function arguments (x, y) are const. Make num_x/num_y const too. Signed-off-by: Eduardo Habkost --- This is a new patch added in v3 of the series. --- qobject/qnum.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qobject/qnum.c b/qobject/qnum.c index d328d91fcb..e5ea728638 100644 --- a/qobject/qnum.c +++ b/qobject/qnum.c @@ -209,8 +209,8 @@ char *qnum_to_string(QNum *qn) */ bool qnum_is_equal(const QObject *x, const QObject *y) { - QNum *num_x =3D qobject_to(QNum, x); - QNum *num_y =3D qobject_to(QNum, y); + const QNum *num_x =3D qobject_to(QNum, x); + const QNum *num_y =3D qobject_to(QNum, y); =20 switch (num_x->kind) { case QNUM_I64: --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606162005; cv=none; d=zohomail.com; s=zohoarc; b=OYgOMaRaksG0H6X2YIFCZPUsQOzoRiZlI27UR8RrOC3Z58T1c+BN0cr3SsnQH6eu66rWQke49jmoiCJC8hTZ0pa6YLGIPcV2uy/waxfDf6/3toYHoqtkXArlvrgJVlNQQOI+V7UMV4Au9xe5Cuad3cRQAGSqZpU4T1hGrrrc2qw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606162005; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hEf6QWe1NZrQUT3H/uhkT2eCsB5nbcOOCywAEsktkNQ=; b=LD/c8c6tIhNUVFvfoq4ypWPe/aoXGTI8qQrT9z9z5n0rMkVL2LTRb91mSYi5XQ4N/ExRD+yjCbSsBqBn01uQX872+mGI9lH66XoZ2bYd4TU9mGujawFfZJ5SorNWijzhJFRlMABHnQHOmZ5rjA5s0ah7m5czUeBcpZ/FdjXiQ/Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606162005538917.4810670854542; Mon, 23 Nov 2020 12:06:45 -0800 (PST) Received: from localhost ([::1]:58290 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khI6h-0005Ae-AR for importer@patchew.org; Mon, 23 Nov 2020 15:06:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58744) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpR-0006EP-1d for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:49 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:51680) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpO-0007ls-9q for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:48 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-530-T0nM2eQ_NUm9DRs8WLQgAQ-1; Mon, 23 Nov 2020 14:48:36 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0A0B380B71D for ; Mon, 23 Nov 2020 19:48:28 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id A4C69620DE; Mon, 23 Nov 2020 19:48:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hEf6QWe1NZrQUT3H/uhkT2eCsB5nbcOOCywAEsktkNQ=; b=TPkllmr4F7bDPiekge11wOSocjYA/mSDzJ2VOcoEjje3/RiXYfLmu2tSZyEoQ7x6T7xaVX qhg+VYcTUBpjWiiD6/ICPay/mof0H8T2x7Lhi6Kwr3B8n4LiBtbCtXsPkGn/OYe6Dt6tis M8hroHTfQBufOSynDo4nxg82TgIa7C4= X-MC-Unique: T0nM2eQ_NUm9DRs8WLQgAQ-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 03/19] qnum: QNumValue type for QNum value literals Date: Mon, 23 Nov 2020 14:48:02 -0500 Message-Id: <20201123194818.2773508-4-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Provide a separate QNumValue type that can be used for QNum value literals without the referencing counting and memory allocation features provided by QObject. Signed-off-by: Eduardo Habkost --- Changes v2 -> v3: * Fixed copy-pasta at qnum_from_value() documentation * Removed qnum_get_value() function * Moved doc comment of qnum_from_value() to .c file, for consistency with other functions. * Removed "private:" doc comment at QNumValue. * Removed unnecessary kernel-doc noise (obvious parameter descriptions). * Removed space after type cast in qnum_from_*(). * qnum_is_equal() variable const-ness & renames: * Renamed new QNumValue variables to val_x/val_y. * Keep existing QNum num_x/num_y variable names. * const-ness change of num_x/num_y was moved to a separate patch. Changes v1 -> v2: * Fix "make check" failure, by updating check-qnum unit test to use the new struct fields --- include/qapi/qmp/qnum.h | 23 ++++++++++- qobject/qnum.c | 91 ++++++++++++++++++++++------------------- tests/check-qnum.c | 14 +++---- 3 files changed, 76 insertions(+), 52 deletions(-) diff --git a/include/qapi/qmp/qnum.h b/include/qapi/qmp/qnum.h index 3e9ecd324e..03193dca20 100644 --- a/include/qapi/qmp/qnum.h +++ b/include/qapi/qmp/qnum.h @@ -44,16 +44,35 @@ typedef enum { * in range: qnum_get_try_int() / qnum_get_try_uint() check range and * convert under the hood. */ -struct QNum { - struct QObjectBase_ base; + +/** + * struct QNumValue: the value of a QNum + * + * QNumValue literals can be constructed using the `QNUM_VAL_INT`, + * `QNUM_VAL_UINT`, and `QNUM_VAL_DOUBLE` macros. + */ +typedef struct QNumValue { QNumKind kind; union { int64_t i64; uint64_t u64; double dbl; } u; +} QNumValue; + +#define QNUM_VAL_INT(value) \ + { .kind =3D QNUM_I64, .u.i64 =3D value } +#define QNUM_VAL_UINT(value) \ + { .kind =3D QNUM_U64, .u.u64 =3D value } +#define QNUM_VAL_DOUBLE(value) \ + { .kind =3D QNUM_DOUBLE, .u.dbl =3D value } + +struct QNum { + struct QObjectBase_ base; + QNumValue value; }; =20 +QNum *qnum_from_value(QNumValue value); QNum *qnum_from_int(int64_t value); QNum *qnum_from_uint(uint64_t value); QNum *qnum_from_double(double value); diff --git a/qobject/qnum.c b/qobject/qnum.c index e5ea728638..94e668db60 100644 --- a/qobject/qnum.c +++ b/qobject/qnum.c @@ -16,21 +16,29 @@ #include "qapi/qmp/qnum.h" =20 /** - * qnum_from_int(): Create a new QNum from an int64_t + * qnum_from_value(): Create a new QNum from a QNumValue * * Return strong reference. */ -QNum *qnum_from_int(int64_t value) +QNum *qnum_from_value(QNumValue value) { QNum *qn =3D g_new(QNum, 1); =20 qobject_init(QOBJECT(qn), QTYPE_QNUM); - qn->kind =3D QNUM_I64; - qn->u.i64 =3D value; - + qn->value =3D value; return qn; } =20 +/** + * qnum_from_int(): Create a new QNum from an int64_t + * + * Return strong reference. + */ +QNum *qnum_from_int(int64_t value) +{ + return qnum_from_value((QNumValue)QNUM_VAL_INT(value)); +} + /** * qnum_from_uint(): Create a new QNum from an uint64_t * @@ -38,13 +46,7 @@ QNum *qnum_from_int(int64_t value) */ QNum *qnum_from_uint(uint64_t value) { - QNum *qn =3D g_new(QNum, 1); - - qobject_init(QOBJECT(qn), QTYPE_QNUM); - qn->kind =3D QNUM_U64; - qn->u.u64 =3D value; - - return qn; + return qnum_from_value((QNumValue)QNUM_VAL_UINT(value)); } =20 /** @@ -54,13 +56,7 @@ QNum *qnum_from_uint(uint64_t value) */ QNum *qnum_from_double(double value) { - QNum *qn =3D g_new(QNum, 1); - - qobject_init(QOBJECT(qn), QTYPE_QNUM); - qn->kind =3D QNUM_DOUBLE; - qn->u.dbl =3D value; - - return qn; + return qnum_from_value((QNumValue)QNUM_VAL_DOUBLE(value)); } =20 /** @@ -70,15 +66,17 @@ QNum *qnum_from_double(double value) */ bool qnum_get_try_int(const QNum *qn, int64_t *val) { - switch (qn->kind) { + const QNumValue *qv =3D &qn->value; + + switch (qv->kind) { case QNUM_I64: - *val =3D qn->u.i64; + *val =3D qv->u.i64; return true; case QNUM_U64: - if (qn->u.u64 > INT64_MAX) { + if (qv->u.u64 > INT64_MAX) { return false; } - *val =3D qn->u.u64; + *val =3D qv->u.u64; return true; case QNUM_DOUBLE: return false; @@ -108,15 +106,17 @@ int64_t qnum_get_int(const QNum *qn) */ bool qnum_get_try_uint(const QNum *qn, uint64_t *val) { - switch (qn->kind) { + const QNumValue *qv =3D &qn->value; + + switch (qv->kind) { case QNUM_I64: - if (qn->u.i64 < 0) { + if (qv->u.i64 < 0) { return false; } - *val =3D qn->u.i64; + *val =3D qv->u.i64; return true; case QNUM_U64: - *val =3D qn->u.u64; + *val =3D qv->u.u64; return true; case QNUM_DOUBLE: return false; @@ -146,13 +146,15 @@ uint64_t qnum_get_uint(const QNum *qn) */ double qnum_get_double(const QNum *qn) { - switch (qn->kind) { + const QNumValue *qv =3D &qn->value; + + switch (qv->kind) { case QNUM_I64: - return qn->u.i64; + return qv->u.i64; case QNUM_U64: - return qn->u.u64; + return qv->u.u64; case QNUM_DOUBLE: - return qn->u.dbl; + return qv->u.dbl; } =20 assert(0); @@ -161,14 +163,15 @@ double qnum_get_double(const QNum *qn) =20 char *qnum_to_string(QNum *qn) { + const QNumValue *qv =3D &qn->value; char *buffer; int len; =20 - switch (qn->kind) { + switch (qv->kind) { case QNUM_I64: - return g_strdup_printf("%" PRId64, qn->u.i64); + return g_strdup_printf("%" PRId64, qv->u.i64); case QNUM_U64: - return g_strdup_printf("%" PRIu64, qn->u.u64); + return g_strdup_printf("%" PRIu64, qv->u.u64); case QNUM_DOUBLE: /* FIXME: snprintf() is locale dependent; but JSON requires * numbers to be formatted as if in the C locale. Dependence @@ -179,7 +182,7 @@ char *qnum_to_string(QNum *qn) * rounding errors; we should be using DBL_DECIMAL_DIG (17), * and only rounding to a shorter number if the result would * still produce the same floating point value. */ - buffer =3D g_strdup_printf("%f" , qn->u.dbl); + buffer =3D g_strdup_printf("%f" , qv->u.dbl); len =3D strlen(buffer); while (len > 0 && buffer[len - 1] =3D=3D '0') { len--; @@ -211,40 +214,42 @@ bool qnum_is_equal(const QObject *x, const QObject *y) { const QNum *num_x =3D qobject_to(QNum, x); const QNum *num_y =3D qobject_to(QNum, y); + const QNumValue *val_x =3D &num_x->value; + const QNumValue *val_y =3D &num_y->value; =20 - switch (num_x->kind) { + switch (val_x->kind) { case QNUM_I64: - switch (num_y->kind) { + switch (val_y->kind) { case QNUM_I64: /* Comparison in native int64_t type */ - return num_x->u.i64 =3D=3D num_y->u.i64; + return val_x->u.i64 =3D=3D val_y->u.i64; case QNUM_U64: /* Implicit conversion of x to uin64_t, so we have to * check its sign before */ - return num_x->u.i64 >=3D 0 && num_x->u.i64 =3D=3D num_y->u.u64; + return val_x->u.i64 >=3D 0 && val_x->u.i64 =3D=3D val_y->u.u64; case QNUM_DOUBLE: return false; } abort(); case QNUM_U64: - switch (num_y->kind) { + switch (val_y->kind) { case QNUM_I64: return qnum_is_equal(y, x); case QNUM_U64: /* Comparison in native uint64_t type */ - return num_x->u.u64 =3D=3D num_y->u.u64; + return val_x->u.u64 =3D=3D val_y->u.u64; case QNUM_DOUBLE: return false; } abort(); case QNUM_DOUBLE: - switch (num_y->kind) { + switch (val_y->kind) { case QNUM_I64: case QNUM_U64: return false; case QNUM_DOUBLE: /* Comparison in native double type */ - return num_x->u.dbl =3D=3D num_y->u.dbl; + return val_x->u.dbl =3D=3D val_y->u.dbl; } abort(); } diff --git a/tests/check-qnum.c b/tests/check-qnum.c index 4105015872..9499b0d845 100644 --- a/tests/check-qnum.c +++ b/tests/check-qnum.c @@ -30,8 +30,8 @@ static void qnum_from_int_test(void) =20 qn =3D qnum_from_int(value); g_assert(qn !=3D NULL); - g_assert_cmpint(qn->kind, =3D=3D, QNUM_I64); - g_assert_cmpint(qn->u.i64, =3D=3D, value); + g_assert_cmpint(qn->value.kind, =3D=3D, QNUM_I64); + g_assert_cmpint(qn->value.u.i64, =3D=3D, value); g_assert_cmpint(qn->base.refcnt, =3D=3D, 1); g_assert_cmpint(qobject_type(QOBJECT(qn)), =3D=3D, QTYPE_QNUM); =20 @@ -45,8 +45,8 @@ static void qnum_from_uint_test(void) =20 qn =3D qnum_from_uint(value); g_assert(qn !=3D NULL); - g_assert_cmpint(qn->kind, =3D=3D, QNUM_U64); - g_assert(qn->u.u64 =3D=3D value); + g_assert_cmpint(qn->value.kind, =3D=3D, QNUM_U64); + g_assert(qn->value.u.u64 =3D=3D value); g_assert(qn->base.refcnt =3D=3D 1); g_assert(qobject_type(QOBJECT(qn)) =3D=3D QTYPE_QNUM); =20 @@ -60,8 +60,8 @@ static void qnum_from_double_test(void) =20 qn =3D qnum_from_double(value); g_assert(qn !=3D NULL); - g_assert_cmpint(qn->kind, =3D=3D, QNUM_DOUBLE); - g_assert_cmpfloat(qn->u.dbl, =3D=3D, value); + g_assert_cmpint(qn->value.kind, =3D=3D, QNUM_DOUBLE); + g_assert_cmpfloat(qn->value.u.dbl, =3D=3D, value); g_assert_cmpint(qn->base.refcnt, =3D=3D, 1); g_assert_cmpint(qobject_type(QOBJECT(qn)), =3D=3D, QTYPE_QNUM); =20 @@ -74,7 +74,7 @@ static void qnum_from_int64_test(void) const int64_t value =3D 0x1234567890abcdefLL; =20 qn =3D qnum_from_int(value); - g_assert_cmpint((int64_t) qn->u.i64, =3D=3D, value); + g_assert_cmpint((int64_t) qn->value.u.i64, =3D=3D, value); =20 qobject_unref(qn); } --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161700; cv=none; d=zohomail.com; s=zohoarc; b=YvSRiPLEPHxgNIWt5D0MUVy7LGQ9s38T05jUzj4DgBJQsTF56V+Hht/dH38vvA+f6zRSppl1Ha3SJjeFbDWhPEhwnqchpmD+epLzNISX2zZ1482bY04KYL/MhEzCUsKh12hW+Siyw5yut1ta8nR+Vig1KblJD3W8Jc8Kj6pVNOk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161700; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HUVglx5cApY8wRNog8RxQhhyuyvT2BUOaImb2qBRLoE=; b=cigYn8yJnRcF/BEBU/qjCS+tZqDvfrQ8WAwd5VYXSCI8CEm+IiOfqkiwB0461vvRLIMTlTaNeb6ddKSaDNFqnabee4VKhBEX9zS9YwxXywTDBHGSFCYbRhFaRQJBvHsT/Uf/HcVsLT0tmfJSEjQVkBLHwedSUqcYM1Bp31cqA9o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161700941730.796618461619; Mon, 23 Nov 2020 12:01:40 -0800 (PST) Received: from localhost ([::1]:49674 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khI1q-00015v-Fl for importer@patchew.org; Mon, 23 Nov 2020 15:01:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58726) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpP-0006CH-W9 for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:48 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:20254) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpO-0007lv-94 for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:47 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-181-eDtTNRP5NpqFMU8s8pGGkw-1; Mon, 23 Nov 2020 14:48:41 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 76453105207B for ; Mon, 23 Nov 2020 19:48:29 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2520660C04; Mon, 23 Nov 2020 19:48:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HUVglx5cApY8wRNog8RxQhhyuyvT2BUOaImb2qBRLoE=; b=bnk0Av/rfF9zsi1nuFuGFUuHfEdoEY78EwPONpTvd1dMn7fA1Vlt2yXge9Qv60NCU+tHl1 5A6O0KRQqTrMW27seOREuyI5WxNA4vrACeG/AB8/YTo5tBW+yCyWNgmNK/hMMGoAZQwdA8 aBchPHtKAE1GzX4r/z1qoozAZYf2Kjw= X-MC-Unique: eDtTNRP5NpqFMU8s8pGGkw-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 04/19] qnum: qnum_value_is_equal() function Date: Mon, 23 Nov 2020 14:48:03 -0500 Message-Id: <20201123194818.2773508-5-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Extract the QNum value comparison logic to a function that takes QNumValue* as argument. Signed-off-by: Eduardo Habkost --- Changes v2 -> v3: * Rename function parameters to val_x/val_y * Insert blank line after variable declarations at qnum_is_equal() --- include/qapi/qmp/qnum.h | 1 + qobject/qnum.c | 24 ++++++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/include/qapi/qmp/qnum.h b/include/qapi/qmp/qnum.h index 03193dca20..3dcb020689 100644 --- a/include/qapi/qmp/qnum.h +++ b/include/qapi/qmp/qnum.h @@ -87,6 +87,7 @@ double qnum_get_double(const QNum *qn); =20 char *qnum_to_string(QNum *qn); =20 +bool qnum_value_is_equal(const QNumValue *val_x, const QNumValue *val_y); bool qnum_is_equal(const QObject *x, const QObject *y); void qnum_destroy_obj(QObject *obj); =20 diff --git a/qobject/qnum.c b/qobject/qnum.c index 94e668db60..53c637f46d 100644 --- a/qobject/qnum.c +++ b/qobject/qnum.c @@ -202,7 +202,7 @@ char *qnum_to_string(QNum *qn) } =20 /** - * qnum_is_equal(): Test whether the two QNums are equal + * qnum_value_is_equal(): Test whether two QNumValues are equal * * Negative integers are never considered equal to unsigned integers, * but positive integers in the range [0, INT64_MAX] are considered @@ -210,13 +210,8 @@ char *qnum_to_string(QNum *qn) * * Doubles are never considered equal to integers. */ -bool qnum_is_equal(const QObject *x, const QObject *y) +bool qnum_value_is_equal(const QNumValue *val_x, const QNumValue *val_y) { - const QNum *num_x =3D qobject_to(QNum, x); - const QNum *num_y =3D qobject_to(QNum, y); - const QNumValue *val_x =3D &num_x->value; - const QNumValue *val_y =3D &num_y->value; - switch (val_x->kind) { case QNUM_I64: switch (val_y->kind) { @@ -234,7 +229,7 @@ bool qnum_is_equal(const QObject *x, const QObject *y) case QNUM_U64: switch (val_y->kind) { case QNUM_I64: - return qnum_is_equal(y, x); + return qnum_value_is_equal(val_y, val_x); case QNUM_U64: /* Comparison in native uint64_t type */ return val_x->u.u64 =3D=3D val_y->u.u64; @@ -257,6 +252,19 @@ bool qnum_is_equal(const QObject *x, const QObject *y) abort(); } =20 +/** + * qnum_is_equal(): Test whether the two QNums are equal + * + * See qnum_value_is_equal() for details on the comparison rules. + */ +bool qnum_is_equal(const QObject *x, const QObject *y) +{ + const QNum *qnum_x =3D qobject_to(QNum, x); + const QNum *qnum_y =3D qobject_to(QNum, y); + + return qnum_value_is_equal(&qnum_x->value, &qnum_y->value); +} + /** * qnum_destroy_obj(): Free all memory allocated by a * QNum object --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161153; cv=none; d=zohomail.com; s=zohoarc; b=diCJ0BFRGUUdV0BZ/OIV0ImTpQchmedMwsBTuu63k5P+c6sauhm5Ocx9FI0MJbzmgwXB11y3qCNxOJzikNfBT5+gdDQQVUGDG35PYQ4oChI5LXKcOMhfBM3Aup02pBofdlF2lZ1X8I+duQvupCdLmYVjmta7LqfzGqmPjRZDRoM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161153; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=QiavwNcTmeJQ44Wd/gWTFeDiwR1iT7Nz1/QxW8N4RgU=; b=NLCAlDSa/I6F+mcMaLsW0WKvGsABODRqDNHGNOpqTh+mUxdVE5CW5VPob51etisE+Ep98I1f/XFoejRSkL8z9m1YmV8R9Dg2BSXLC8I2AkxZyYUHUo7iTPvrnjaxuPXDpbFnAQeXirwZXpKRKbRIRsZRriPtum7wiIhzhHf4rAc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161153610404.90120558607384; Mon, 23 Nov 2020 11:52:33 -0800 (PST) Received: from localhost ([::1]:54936 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khHt2-0008CQ-Ay for importer@patchew.org; Mon, 23 Nov 2020 14:52:32 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58734) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpQ-0006Df-L1 for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:48 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:51003) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpO-0007lo-99 for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:48 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-33-yfqGjBjkNvKBjOHINVIMLg-1; Mon, 23 Nov 2020 14:48:40 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AD6A29CC39 for ; Mon, 23 Nov 2020 19:48:30 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6355A1002382; Mon, 23 Nov 2020 19:48:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160923; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QiavwNcTmeJQ44Wd/gWTFeDiwR1iT7Nz1/QxW8N4RgU=; b=DQ+4byRrZyO/cFdsHBrFLHCLffYRj4nvK3pQ8TkjPkwq0W65sYCYuHQRrM/sPBEag0v/kj LuPF9Yuno1XOBe1hR/pc6QzzjEm53a/paVYfgK22Ynf9d4cBBFXy6ZYaKF58UXbVluI7bM 2sRVWYhQSCskwk0xbf1imZt1Z3zBJSQ= X-MC-Unique: yfqGjBjkNvKBjOHINVIMLg-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 05/19] qlit: Use qnum_value_is_equal() when comparing QNums Date: Mon, 23 Nov 2020 14:48:04 -0500 Message-Id: <20201123194818.2773508-6-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Currently, qlit_equal_qobject() crashes if getting a QNum that can't be represented as int64. Fix this by using qnum_value_is_equal(). Signed-off-by: Eduardo Habkost --- This is a new patch added in v3 of the series. --- qobject/qlit.c | 3 ++- tests/check-qlit.c | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/qobject/qlit.c b/qobject/qlit.c index be8332136c..67126b25d5 100644 --- a/qobject/qlit.c +++ b/qobject/qlit.c @@ -71,7 +71,8 @@ bool qlit_equal_qobject(const QLitObject *lhs, const QObj= ect *rhs) case QTYPE_QBOOL: return lhs->value.qbool =3D=3D qbool_get_bool(qobject_to(QBool, rh= s)); case QTYPE_QNUM: - return lhs->value.qnum =3D=3D qnum_get_int(qobject_to(QNum, rhs)); + return qnum_value_is_equal(&(QNumValue)QNUM_VAL_INT(lhs->value.qnu= m), + &qobject_to(QNum, rhs)->value); case QTYPE_QSTRING: return (strcmp(lhs->value.qstr, qstring_get_str(qobject_to(QString, rhs))) =3D=3D 0= ); diff --git a/tests/check-qlit.c b/tests/check-qlit.c index bd6798d912..58ceaae5a3 100644 --- a/tests/check-qlit.c +++ b/tests/check-qlit.c @@ -65,6 +65,24 @@ static void qlit_equal_qobject_test(void) qobject_unref(qobj); } =20 +static void qlit_equal_large_qnum_test(void) +{ + /* 2^32-1 */ + QNum *large =3D qnum_from_uint(9223372036854775807LL); + /* 2^32 */ + QNum *too_large =3D qnum_from_uint(9223372036854775808ULL); + QNum *dbl =3D qnum_from_double(9223372036854775808.0); + QLitObject qlit_large =3D QLIT_QNUM(9223372036854775807LL); + + g_assert(qlit_equal_qobject(&qlit_large, QOBJECT(large))); + g_assert(!qlit_equal_qobject(&qlit_large, QOBJECT(too_large))); + g_assert(!qlit_equal_qobject(&qlit_large, QOBJECT(dbl))); + + qobject_unref(dbl); + qobject_unref(large); + qobject_unref(too_large); +} + static void qobject_from_qlit_test(void) { QObject *obj, *qobj =3D qobject_from_qlit(&qlit); @@ -95,6 +113,7 @@ int main(int argc, char **argv) g_test_init(&argc, &argv, NULL); =20 g_test_add_func("/qlit/equal_qobject", qlit_equal_qobject_test); + g_test_add_func("/qlit/equal_large_qnum", qlit_equal_large_qnum_test); g_test_add_func("/qlit/qobject_from_qlit", qobject_from_qlit_test); =20 return g_test_run(); --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161299; cv=none; d=zohomail.com; s=zohoarc; b=RKQ9SNjoOjjcxTMLpDpd5KKE0NZUHp1cB0Ea9ElkLSnMlpid/8L1zu5CafJ2VqG/1NDKZvcwPtLEZwnHMYzEaqT4iRcKxXLTzxWpqezLidxqyJSeq+h3YW9bQqU9qUc5K4CqmupcT4+8Ek0AJyC/f7Kw30heAlQRdT+9h+EJBy0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161299; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=K+am16SMzOkZedLb5QC0zdtv7tBIX1dgj7b9ouOfr9c=; b=d3J9Gp9SGM9diqXb/hlWq5taAdyXfyN3Ql0ccomcJdEGN12b89gWgipfRbv3o9ZkPJjsi8XRlmTUyp6ZVvDIiOyA3/KwQk5TNdI5hhjMQTTzelIU8UTQZ13LEF/4qBq14jAcr8qc+WGLOopSPxT2lR/ilhYMiKp5RF+Rlw8ZedI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161299043654.1769159215542; Mon, 23 Nov 2020 11:54:59 -0800 (PST) Received: from localhost ([::1]:35412 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khHvN-0003Ly-Ui for importer@patchew.org; Mon, 23 Nov 2020 14:54:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58798) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpT-0006Hj-1o for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:51 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:57389) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpR-0007nW-6l for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:50 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-283-KmkHOSEYNwqiEW-QAfiQ8w-1; Mon, 23 Nov 2020 14:48:46 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D116C1015214 for ; Mon, 23 Nov 2020 19:48:37 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id ED24460873; Mon, 23 Nov 2020 19:48:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=K+am16SMzOkZedLb5QC0zdtv7tBIX1dgj7b9ouOfr9c=; b=PqHNKLuQMr7dQDmuhlCaF/64ZqLEocPGT+CmGWJ2w41yAZfd3se57CdP7tJxOSPUzqRVdA Deu9TnWDNKq7eEqia43Whvtbiv2JQpQQBwiZomo6H3F05UU9+Pksc0B+rQxgBZVVE/f9f2 js9ojyq7K7pSLbz/R/uiCjYNDlA9rHE= X-MC-Unique: KmkHOSEYNwqiEW-QAfiQ8w-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 06/19] qlit: Rename QLIT_QNUM to QLIT_QNUM_INT Date: Mon, 23 Nov 2020 14:48:05 -0500 Message-Id: <20201123194818.2773508-7-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Rename the existing QLIT_QNUM macro to indicate it only supports signed int values. We're going to add support to other types of QNums later. Signed-off-by: Eduardo Habkost --- This is a new patch added in v3 of this series. In v2, the existing QLIT_QNUM() macro was being kept, now it is replaced by QLIT_QNUM_INT(). --- include/qapi/qmp/qlit.h | 2 +- tests/check-qjson.c | 30 +++++++++++++++--------------- tests/check-qlit.c | 10 +++++----- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/include/qapi/qmp/qlit.h b/include/qapi/qmp/qlit.h index c0676d5daf..2fc2db282e 100644 --- a/include/qapi/qmp/qlit.h +++ b/include/qapi/qmp/qlit.h @@ -39,7 +39,7 @@ struct QLitDictEntry { { .type =3D QTYPE_QNULL } #define QLIT_QBOOL(val) \ { .type =3D QTYPE_QBOOL, .value.qbool =3D (val) } -#define QLIT_QNUM(val) \ +#define QLIT_QNUM_INT(val) \ { .type =3D QTYPE_QNUM, .value.qnum =3D (val) } #define QLIT_QSTR(val) \ { .type =3D QTYPE_QSTRING, .value.qstr =3D (val) } diff --git a/tests/check-qjson.c b/tests/check-qjson.c index 07a773e653..bc5b7ebdf3 100644 --- a/tests/check-qjson.c +++ b/tests/check-qjson.c @@ -1062,7 +1062,7 @@ static void simple_dict(void) { .encoded =3D "{\"foo\": 42, \"bar\": \"hello world\"}", .decoded =3D QLIT_QDICT(((QLitDictEntry[]){ - { "foo", QLIT_QNUM(42) }, + { "foo", QLIT_QNUM_INT(42) }, { "bar", QLIT_QSTR("hello world") }, { } })), @@ -1074,7 +1074,7 @@ static void simple_dict(void) }, { .encoded =3D "{\"foo\": 43}", .decoded =3D QLIT_QDICT(((QLitDictEntry[]){ - { "foo", QLIT_QNUM(43) }, + { "foo", QLIT_QNUM_INT(43) }, { } })), }, @@ -1160,15 +1160,15 @@ static void simple_list(void) { .encoded =3D "[43,42]", .decoded =3D QLIT_QLIST(((QLitObject[]){ - QLIT_QNUM(43), - QLIT_QNUM(42), + QLIT_QNUM_INT(43), + QLIT_QNUM_INT(42), { } })), }, { .encoded =3D "[43]", .decoded =3D QLIT_QLIST(((QLitObject[]){ - QLIT_QNUM(43), + QLIT_QNUM_INT(43), { } })), }, @@ -1217,35 +1217,35 @@ static void simple_whitespace(void) { .encoded =3D " [ 43 , 42 ]", .decoded =3D QLIT_QLIST(((QLitObject[]){ - QLIT_QNUM(43), - QLIT_QNUM(42), + QLIT_QNUM_INT(43), + QLIT_QNUM_INT(42), { } })), }, { .encoded =3D "\t[ 43 , { 'h' : 'b' },\r\n\t[ ], 42 ]\n", .decoded =3D QLIT_QLIST(((QLitObject[]){ - QLIT_QNUM(43), + QLIT_QNUM_INT(43), QLIT_QDICT(((QLitDictEntry[]){ { "h", QLIT_QSTR("b") }, { }})), QLIT_QLIST(((QLitObject[]){ { }})), - QLIT_QNUM(42), + QLIT_QNUM_INT(42), { } })), }, { .encoded =3D " [ 43 , { 'h' : 'b' , 'a' : 32 }, [ ], 42 ]", .decoded =3D QLIT_QLIST(((QLitObject[]){ - QLIT_QNUM(43), + QLIT_QNUM_INT(43), QLIT_QDICT(((QLitDictEntry[]){ { "h", QLIT_QSTR("b") }, - { "a", QLIT_QNUM(32) }, + { "a", QLIT_QNUM_INT(32) }, { }})), QLIT_QLIST(((QLitObject[]){ { }})), - QLIT_QNUM(42), + QLIT_QNUM_INT(42), { } })), }, @@ -1275,11 +1275,11 @@ static void simple_interpolation(void) QObject *embedded_obj; QObject *obj; QLitObject decoded =3D QLIT_QLIST(((QLitObject[]){ - QLIT_QNUM(1), + QLIT_QNUM_INT(1), QLIT_QSTR("100%"), QLIT_QLIST(((QLitObject[]){ - QLIT_QNUM(32), - QLIT_QNUM(42), + QLIT_QNUM_INT(32), + QLIT_QNUM_INT(42), {}})), {}})); =20 diff --git a/tests/check-qlit.c b/tests/check-qlit.c index 58ceaae5a3..24ac21395c 100644 --- a/tests/check-qlit.c +++ b/tests/check-qlit.c @@ -17,12 +17,12 @@ #include "qapi/qmp/qstring.h" =20 static QLitObject qlit =3D QLIT_QDICT(((QLitDictEntry[]) { - { "foo", QLIT_QNUM(42) }, + { "foo", QLIT_QNUM_INT(42) }, { "bar", QLIT_QSTR("hello world") }, { "baz", QLIT_QNULL }, { "bee", QLIT_QLIST(((QLitObject[]) { - QLIT_QNUM(43), - QLIT_QNUM(44), + QLIT_QNUM_INT(43), + QLIT_QNUM_INT(44), QLIT_QBOOL(true), { }, }))}, @@ -30,7 +30,7 @@ static QLitObject qlit =3D QLIT_QDICT(((QLitDictEntry[]) { })); =20 static QLitObject qlit_foo =3D QLIT_QDICT(((QLitDictEntry[]) { - { "foo", QLIT_QNUM(42) }, + { "foo", QLIT_QNUM_INT(42) }, { }, })); =20 @@ -72,7 +72,7 @@ static void qlit_equal_large_qnum_test(void) /* 2^32 */ QNum *too_large =3D qnum_from_uint(9223372036854775808ULL); QNum *dbl =3D qnum_from_double(9223372036854775808.0); - QLitObject qlit_large =3D QLIT_QNUM(9223372036854775807LL); + QLitObject qlit_large =3D QLIT_QNUM_INT(9223372036854775807LL); =20 g_assert(qlit_equal_qobject(&qlit_large, QOBJECT(large))); g_assert(!qlit_equal_qobject(&qlit_large, QOBJECT(too_large))); --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161155; cv=none; d=zohomail.com; s=zohoarc; b=W408lc74uoAUdvH3AY4VEQSYbAvg5kjZBvGqHOePzyqqP6Mx28qtCYJ87znuK3YVH2g6nvObk4sC00/ai9kJu5VjBMuBI3oEYX+Vfor1FmafD8zS1OOQZI6xJVoGZ1l/WTvX0q8RAQKFCfZhOczbgCA3q/ZqWvItvoKFyJxFCBI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161155; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=incDQDGrHNj3xaeM7y/KBDFeHlSErjQNzYbU8/gz35U=; b=hAkhtOI5dTbig/JOwJsHiTc4OXc7E4ncROtTohsDPkmIRkoIV+iQ0MvPjf1j8MAbVwpqihBvfBb+EbdYfXJwQmLP8lVZ6C9okpMInY3EyPruIO/0ffTKe4JRL3KZXWqd1iVOffDBS+/M1bO/rqdjYbfe7nGFAo2jZAWsN12YLrY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161155329926.2125007663328; Mon, 23 Nov 2020 11:52:35 -0800 (PST) Received: from localhost ([::1]:55086 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khHt4-0008GF-2c for importer@patchew.org; Mon, 23 Nov 2020 14:52:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58754) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpR-0006F3-D9 for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:49 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:31936) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpO-0007ly-9i for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:49 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-419-8pdXxmkeMQ2ufsQSGt5yIA-1; Mon, 23 Nov 2020 14:48:42 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id ABA7E801AE8 for ; Mon, 23 Nov 2020 19:48:39 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2056E5C1BB; Mon, 23 Nov 2020 19:48:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=incDQDGrHNj3xaeM7y/KBDFeHlSErjQNzYbU8/gz35U=; b=dMDGsOfGC6kpQntqN48OOe3NQ4aNyFOIe4XbcoYMfu61/ENUwP7UMmmrQOxFemCycQbICF Llz/0gS1NgDhPO7c6f21QZsP3Qy0yBFtdM83cXOjYM+3x8OhkOGVeCZ320BHEWJiYaJ4xn cLKasoU6Ns4lcom/k8D61uFN5c/waTE= X-MC-Unique: 8pdXxmkeMQ2ufsQSGt5yIA-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 07/19] qlit: Use QNumValue to represent QNums Date: Mon, 23 Nov 2020 14:48:06 -0500 Message-Id: <20201123194818.2773508-8-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Replace the existing int64_t field in QLitObject with QNumValue, so we can get support for other QNum types for free. Signed-off-by: Eduardo Habkost --- This is a new patch added in v3 of the series. It includes portions of a previous patch from v2: "qlit: Support all types of QNums". --- include/qapi/qmp/qlit.h | 5 +++-- qobject/qlit.c | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/qapi/qmp/qlit.h b/include/qapi/qmp/qlit.h index 2fc2db282e..a240cdd299 100644 --- a/include/qapi/qmp/qlit.h +++ b/include/qapi/qmp/qlit.h @@ -15,6 +15,7 @@ #define QLIT_H =20 #include "qobject.h" +#include "qnum.h" =20 typedef struct QLitDictEntry QLitDictEntry; typedef struct QLitObject QLitObject; @@ -23,7 +24,7 @@ struct QLitObject { QType type; union { bool qbool; - int64_t qnum; + QNumValue qnum; const char *qstr; QLitDictEntry *qdict; QLitObject *qlist; @@ -40,7 +41,7 @@ struct QLitDictEntry { #define QLIT_QBOOL(val) \ { .type =3D QTYPE_QBOOL, .value.qbool =3D (val) } #define QLIT_QNUM_INT(val) \ - { .type =3D QTYPE_QNUM, .value.qnum =3D (val) } + { .type =3D QTYPE_QNUM, .value.qnum =3D QNUM_VAL_INT(val) } #define QLIT_QSTR(val) \ { .type =3D QTYPE_QSTRING, .value.qstr =3D (val) } #define QLIT_QDICT(val) \ diff --git a/qobject/qlit.c b/qobject/qlit.c index 67126b25d5..b7af81cefb 100644 --- a/qobject/qlit.c +++ b/qobject/qlit.c @@ -71,7 +71,7 @@ bool qlit_equal_qobject(const QLitObject *lhs, const QObj= ect *rhs) case QTYPE_QBOOL: return lhs->value.qbool =3D=3D qbool_get_bool(qobject_to(QBool, rh= s)); case QTYPE_QNUM: - return qnum_value_is_equal(&(QNumValue)QNUM_VAL_INT(lhs->value.qnu= m), + return qnum_value_is_equal(&lhs->value.qnum, &qobject_to(QNum, rhs)->value); case QTYPE_QSTRING: return (strcmp(lhs->value.qstr, @@ -95,7 +95,7 @@ QObject *qobject_from_qlit(const QLitObject *qlit) case QTYPE_QNULL: return QOBJECT(qnull()); case QTYPE_QNUM: - return QOBJECT(qnum_from_int(qlit->value.qnum)); + return QOBJECT(qnum_from_value(qlit->value.qnum)); case QTYPE_QSTRING: return QOBJECT(qstring_from_str(qlit->value.qstr)); case QTYPE_QDICT: { --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161382; cv=none; d=zohomail.com; s=zohoarc; b=LL9bXBBkGDHbjyZDhkrDvfD53jlaDrgE3lYsiJxQxdr/HrK5eWrixSRgQ+jnGAa2logcVGngvtw2vrAAz8z6lY+1q6F9yXOgeHCZ2G5u1hjkXhEi9EjwY2hda38XAtzpfItYUKXdsE4C5bB75I2QfLyarU/m5o5VZgdiLHCxN2U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161382; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ErUgExoPq2dmCvPPd0GcluJIvPhKwWywjEBrhD1BCLI=; b=TyWBOPhZBGpMTPIKXn9IhbxtQ5ootb8YYpqXcXP2s48m92h8PEW1XWiWwn2vTa1/wsULBhMAQMcEvCPg9twFeXl8r2yflWJ5w9cZdY3Vmi8mH3jo0szqvPKQvayP/pMxdIetgwKjAOCx8fwf62PfJA52zs2L5mFkkR5uOvYsRZw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161382129711.5093100014687; Mon, 23 Nov 2020 11:56:22 -0800 (PST) Received: from localhost ([::1]:38392 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khHwi-0004a6-O5 for importer@patchew.org; Mon, 23 Nov 2020 14:56:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58792) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpS-0006HO-SY for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:50 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:26030) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpR-0007nZ-95 for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:50 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-487-n4OpxoeLPO2NtC7v3q6wWA-1; Mon, 23 Nov 2020 14:48:46 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 318AA8064B3 for ; Mon, 23 Nov 2020 19:48:44 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id ED9CB5D9D2; Mon, 23 Nov 2020 19:48:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ErUgExoPq2dmCvPPd0GcluJIvPhKwWywjEBrhD1BCLI=; b=AjeI6h4t9wjJKO0w8EyRs5pnQNKWwDIoVKUa6wAsNIjytjl6EwxtFhqDT9McWokOeE6IGU jcf0vS+PPlbHtPw84qsXyDOnWX+gC50+EKPwLn+Zs3zZ4Zuop7AmmPXBUl5ZuvFM5b860D XSKPvwNY3C0QoMCa2Jt0YsuJi2ccyeg= X-MC-Unique: n4OpxoeLPO2NtC7v3q6wWA-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 08/19] qlit: Move qlit_equal_qobject() reference values to array Date: Mon, 23 Nov 2020 14:48:07 -0500 Message-Id: <20201123194818.2773508-9-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Add an array of values to qlit_equal_qobject_test(), so we can extend the test case to compare multiple literals, not just the ones at the existing `qlit` and `qlit_foo` variables. Signed-off-by: Eduardo Habkost --- This is a new patch added in v3 of this series. --- tests/check-qlit.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/tests/check-qlit.c b/tests/check-qlit.c index 24ac21395c..b1cfbddb17 100644 --- a/tests/check-qlit.c +++ b/tests/check-qlit.c @@ -29,11 +29,6 @@ static QLitObject qlit =3D QLIT_QDICT(((QLitDictEntry[])= { { }, })); =20 -static QLitObject qlit_foo =3D QLIT_QDICT(((QLitDictEntry[]) { - { "foo", QLIT_QNUM_INT(42) }, - { }, -})); - static QObject *make_qobject(void) { QDict *qdict =3D qdict_new(); @@ -53,16 +48,33 @@ static QObject *make_qobject(void) =20 static void qlit_equal_qobject_test(void) { + /* Each entry in the values[] array should be different from the other= s */ + QLitObject values[] =3D { + qlit, + QLIT_QDICT(((QLitDictEntry[]) { + { "foo", QLIT_QNUM_INT(42) }, + { }, + })), + }; + int i; QObject *qobj =3D make_qobject(); =20 g_assert(qlit_equal_qobject(&qlit, qobj)); =20 - g_assert(!qlit_equal_qobject(&qlit_foo, qobj)); - qdict_put(qobject_to(QDict, qobj), "bee", qlist_new()); g_assert(!qlit_equal_qobject(&qlit, qobj)); =20 qobject_unref(qobj); + + for (i =3D 0; i < ARRAY_SIZE(values); i++) { + int j; + QObject *o =3D qobject_from_qlit(&values[i]); + for (j =3D 0; j < ARRAY_SIZE(values); j++) { + g_assert(qlit_equal_qobject(&values[j], o) =3D=3D (i =3D=3D j)= ); + } + qobject_unref(o); + } + } =20 static void qlit_equal_large_qnum_test(void) --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161506; cv=none; d=zohomail.com; s=zohoarc; b=J6Pbo03XFgzxS1PS+44XodGn+TSB3GvUIF2t4L6rmPEP+t90XLNBs8bbJ3Bl+g+H93s3naaMH3qivS7mihosYbP6nt2H/W5RElV+HkXHm/swtQ+54q/wvNbFdaw4f2617gIIg26z4W/IctNhDc/SY+4MBJ/XQEgMe7wvpV2mdlU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161506; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7FX+kbypWV85WL1O4M25fwvWVVf918hZWSfr+1B+IvU=; b=H7WKUxDaN73/4aRA8G0+U1RU6WqA/tq7CzCrARBvgMzEpk9YWn58UppshBA0Tj7cfDJ5wDndZ+rZeuOT/6yqPx5NPkpccG7q5faElLlLq7ycp/1QDFv2uiEgwyRkaWO7OZ/0bt75XtVaz0I1PHzDVl6XEZShLR8vr4sMUIH33cA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161506338124.04172135995714; Mon, 23 Nov 2020 11:58:26 -0800 (PST) Received: from localhost ([::1]:43960 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khHyj-000750-4I for importer@patchew.org; Mon, 23 Nov 2020 14:58:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58816) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpW-0006N6-5m for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:54 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:52089) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpS-0007ny-F0 for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:53 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-487-a_0i2zC1PuS_8TM_LaHdLg-1; Mon, 23 Nov 2020 14:48:46 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 99039802B76 for ; Mon, 23 Nov 2020 19:48:45 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3ED515C1BB; Mon, 23 Nov 2020 19:48:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7FX+kbypWV85WL1O4M25fwvWVVf918hZWSfr+1B+IvU=; b=PX2Ty27hdlbdsuXoPVB22PhKKLzfzmp6/UOVqY0mxbgJysacc0ZNwxSiVgZU7ZuCqVEaMu FGmdePF6jzagbZj+nWRtmv7SjNSD8mlOPdhx7EGfEuZ6ZLXLm7HFaG+9NY9iaGJSdVYCKk Dj7XJM9jR/X5tj9RmXn33mufrAJ8eJQ= X-MC-Unique: a_0i2zC1PuS_8TM_LaHdLg-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 09/19] qlit: Add more test literals to qlit_equal_qobject() test case Date: Mon, 23 Nov 2020 14:48:08 -0500 Message-Id: <20201123194818.2773508-10-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Add a few examples of each qlit type, to make sure each one compare as equal to itself, but not equal to the other values. Signed-off-by: Eduardo Habkost --- This is a new patch added in v3 of this series. --- tests/check-qlit.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/check-qlit.c b/tests/check-qlit.c index b1cfbddb17..5a9260b93f 100644 --- a/tests/check-qlit.c +++ b/tests/check-qlit.c @@ -50,11 +50,27 @@ static void qlit_equal_qobject_test(void) { /* Each entry in the values[] array should be different from the other= s */ QLitObject values[] =3D { + QLIT_QNULL, + QLIT_QBOOL(false), + QLIT_QBOOL(true), + QLIT_QNUM_INT(-1), + QLIT_QNUM_INT(0), + QLIT_QNUM_INT(1), + QLIT_QNUM_INT(INT64_MIN), + QLIT_QNUM_INT(INT64_MAX), + QLIT_QSTR(""), + QLIT_QSTR("foo"), qlit, QLIT_QDICT(((QLitDictEntry[]) { { "foo", QLIT_QNUM_INT(42) }, { }, })), + QLIT_QLIST(((QLitObject[]){ + QLIT_QNUM_INT(-1), + QLIT_QNUM_INT(0), + QLIT_QNUM_INT(1), + { }, + })), }; int i; QObject *qobj =3D make_qobject(); --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161290; cv=none; d=zohomail.com; s=zohoarc; b=b5pIqf5RWIt2+Fl5FB4qLLSWHRw1P5J9b2yf8ZTJe4VCi7FTer0JyaeTkRo5EuP9i3r2bwA7RPL/dt2zeR0B2r43K0/Dz1/z2OjjrueeVXcFjO/yG2jj/Wama2tR6POG+NsNmFrvsXNmerEuwrZeOpKIBsJ/iktO7kxDee5KtiY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161290; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=cncQvyDF3qST/A6nlydMpiZQm6aE4PDxnshRSm7PJcw=; b=HrfS5OSU+l+A1et3BRKfl3hHC8cnHYHoZ+Pu8Xw3ZzaUlJ9S+6ElFSxkuFHNFYCbzZMAOtJPkJP/rAROAGgNkvnKBpoZl0l6R41vmX/VTU4Qv1uU97sU+MQll7waY2SpA0JHsutyuoFMmd0hB0P63CEpr2NP3Y6E7Ohnfm2nV7U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161290524449.6205687690658; Mon, 23 Nov 2020 11:54:50 -0800 (PST) Received: from localhost ([::1]:34992 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khHvF-0003Bg-Cl for importer@patchew.org; Mon, 23 Nov 2020 14:54:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58814) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpU-0006LU-Ks for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:52 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:25223) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpS-0007oQ-U7 for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:52 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-90-A75gBqMFP1OfzjuQU3aU_g-1; Mon, 23 Nov 2020 14:48:48 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6E1508030D3 for ; Mon, 23 Nov 2020 19:48:47 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0980C60C04; Mon, 23 Nov 2020 19:48:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cncQvyDF3qST/A6nlydMpiZQm6aE4PDxnshRSm7PJcw=; b=LyhvHISgRXCaZXbrpvdSR3ZfqoClxsXDgPQYWc3T0KjlFofTqjRA7wdvfJ8y2N25A0wYgQ /MzjLxdCp6oKWY76H4aZ/eLTE/O7825ZdmTh9WwXD0ymdUwro01VW4EsqG+h3rjhfFWulm AlNACv78pTlb4/oakegZMbIrUG+IkmY= X-MC-Unique: A75gBqMFP1OfzjuQU3aU_g-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 10/19] qlit: Support all types of QNums Date: Mon, 23 Nov 2020 14:48:09 -0500 Message-Id: <20201123194818.2773508-11-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Add two new macros to support other types of QNums: QLIT_QNUM_UINT, and QLIT_QNUM_DOUBLE, and include them in the qlit_equal_qobject_test() test case. Signed-off-by: Eduardo Habkost --- Changes v2 -> v3: * QLIT_QNUM macro doesn't exist anymore * Addition of the QNumValue field to QLitObject is now in a separate patch ("qlit: Use QNumValue to represent QNums") * check-qjson test case changes dropped. Instead, I'm only extending the qlit_equal_qobject_test() test case. Changes v1 -> v2: * Coding style fix at qlit_equal_qobject() --- include/qapi/qmp/qlit.h | 4 ++++ tests/check-qlit.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/include/qapi/qmp/qlit.h b/include/qapi/qmp/qlit.h index a240cdd299..a2881b7f42 100644 --- a/include/qapi/qmp/qlit.h +++ b/include/qapi/qmp/qlit.h @@ -42,6 +42,10 @@ struct QLitDictEntry { { .type =3D QTYPE_QBOOL, .value.qbool =3D (val) } #define QLIT_QNUM_INT(val) \ { .type =3D QTYPE_QNUM, .value.qnum =3D QNUM_VAL_INT(val) } +#define QLIT_QNUM_UINT(val) \ + { .type =3D QTYPE_QNUM, .value.qnum =3D QNUM_VAL_UINT(val) } +#define QLIT_QNUM_DOUBLE(val) \ + { .type =3D QTYPE_QNUM, .value.qnum =3D QNUM_VAL_DOUBLE(val) } #define QLIT_QSTR(val) \ { .type =3D QTYPE_QSTRING, .value.qstr =3D (val) } #define QLIT_QDICT(val) \ diff --git a/tests/check-qlit.c b/tests/check-qlit.c index 5a9260b93f..31e90f8965 100644 --- a/tests/check-qlit.c +++ b/tests/check-qlit.c @@ -58,6 +58,11 @@ static void qlit_equal_qobject_test(void) QLIT_QNUM_INT(1), QLIT_QNUM_INT(INT64_MIN), QLIT_QNUM_INT(INT64_MAX), + QLIT_QNUM_UINT(UINT64_MAX), + /* Larger than UINT64_MAX: */ + QLIT_QNUM_DOUBLE(18446744073709552e3), + /* Smaller than INT64_MIN: */ + QLIT_QNUM_DOUBLE(-92233720368547758e2), QLIT_QSTR(""), QLIT_QSTR("foo"), qlit, --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606162207; cv=none; d=zohomail.com; s=zohoarc; b=fHiX57vLGczNZBT4kexA+Dx0Ixur3RXPwEY9D2XwIxmJZ5htijGVG8VRH6p6k01iDm+lr/oV7iAN8HwvBQZf8lCN1O1GqWkwRFbTNxN7pS4Zqj7xp+B4aPDffFtcSIp4oQuHIqxiPRPqeqGRu9n1a9WfxUkHkxGi18mb19ijpKE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606162207; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bM7/P8G6XlzMBvizzhoeHHxNayhAuonQydCFaDjgcno=; b=YyE7YB9uzzAvXRQIox/lpWsZi/HAd/OzPaBpNTdgpcP4qLeEKqnJuf4yECnDpCfkZnoKY6Cm866n2ugOqu6rCT3nXL7Hcl1OD6Gp+wLUtVNgSBMai0bv/TUE2guxCqiI0LM/v2guJ7AcDSFsDuNcYoqfvYXI6paTv+I63hNBFNY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606162207019726.4824896512849; Mon, 23 Nov 2020 12:10:07 -0800 (PST) Received: from localhost ([::1]:37944 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khIA1-0008Ra-Ox for importer@patchew.org; Mon, 23 Nov 2020 15:10:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58842) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpa-0006PC-2C for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:02 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:40875) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpX-0007qP-Ta for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:48:57 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-533-46l28UQMM1OWvtbZPEvIlQ-1; Mon, 23 Nov 2020 14:48:52 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 060D0AFA85 for ; Mon, 23 Nov 2020 19:48:52 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id D763019D80; Mon, 23 Nov 2020 19:48:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bM7/P8G6XlzMBvizzhoeHHxNayhAuonQydCFaDjgcno=; b=WiSTObIomaNIsuM4xmGL52zlf+ZvKIRbJ1LICw0uPb98HApnyWee61cmnVNY9VjFWFAQrP vsCH4GjcRQRfZ57n+fVdI1j89voIJRlQx2W8noJtyJ985DmQAyGzXn8OeAeSPRTGDJWZnV sEQZKCgCqeyib5CqZpniuAQ3jwApt7o= X-MC-Unique: 46l28UQMM1OWvtbZPEvIlQ-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 11/19] qom: field_prop_set_default_value() helper Date: Mon, 23 Nov 2020 14:48:10 -0500 Message-Id: <20201123194818.2773508-12-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Move code that sets the property default value to a separate function, to reduce duplication and make refactoring easier. Signed-off-by: Eduardo Habkost --- This is a new patch added in v3 of this series. Hopefully, this will make the series easier to review. The field_prop_set_default_value() was added in v2 at "qom: Use qlit to represent property defaults". --- qom/field-property.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/qom/field-property.c b/qom/field-property.c index cb729626ce..6a0df7c6ea 100644 --- a/qom/field-property.c +++ b/qom/field-property.c @@ -62,6 +62,17 @@ static void static_prop_release_dynamic_prop(Object *obj= , const char *name, g_free(prop); } =20 +static void field_prop_set_default_value(ObjectProperty *op, + Property *prop) +{ + if (!prop->set_default) { + return; + } + + assert(prop->info->set_default_value); + prop->info->set_default_value(op, prop); +} + ObjectProperty * object_property_add_field(Object *obj, const char *name, Property *prop, @@ -83,11 +94,9 @@ object_property_add_field(Object *obj, const char *name, object_property_set_description(obj, name, newprop->info->description); =20 - if (newprop->set_default) { - newprop->info->set_default_value(op, newprop); - if (op->init) { - op->init(obj, op); - } + field_prop_set_default_value(op, newprop); + if (op->init) { + op->init(obj, op); } =20 op->allow_set =3D allow_set; @@ -113,9 +122,8 @@ object_class_property_add_field_static(ObjectClass *oc,= const char *name, prop->info->release, prop); } - if (prop->set_default) { - prop->info->set_default_value(op, prop); - } + + field_prop_set_default_value(op, prop); if (prop->info->description) { object_class_property_set_description(oc, name, prop->info->description); --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161583; cv=none; d=zohomail.com; s=zohoarc; b=UxYmDrJl3+ky0AQ+ee2NoghIL91PNYv96hwPCqCHZOZpI1HGVDsWMURViUkeUsWRUFOUzP60UwE5xmXU64I+cCgr7IMOYzTM6LHMqFK79nBVR6tWnOGJTrJQQFn33HOWe6xd28lED9YBMPsBK4Q85+C2yvkDVikAfaB4JzdYqIg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161583; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=YjrJDyHRZnEGjoa99QSepbIyWviCAoV3REvh6+9FNrY=; b=PKBBxporslpXSJcbc6Gs0WODvEl5846tDFriK4kIlYaDXC97/8Xuc70wWUFHX4k2U5QO3ObsY9IRgqc00uLKmLHnEZeDJExGKgylLti0Uc4O94kVyPE8vY0v+v4mrFaQFVjYHAuPfced7qrRzFn0BqjkwCwOnkbjE2ZP0r+CIXk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161583637753.8374212036746; Mon, 23 Nov 2020 11:59:43 -0800 (PST) Received: from localhost ([::1]:47064 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khHzy-0008Og-BM for importer@patchew.org; Mon, 23 Nov 2020 14:59:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58900) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHph-0006Ps-Pm for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:13 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:51819) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpb-0007rZ-BL for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:05 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-18-_pev7KstOaGiOD7fIGtu4A-1; Mon, 23 Nov 2020 14:48:55 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9623C1012E6C for ; Mon, 23 Nov 2020 19:48:53 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 414515D9CC; Mon, 23 Nov 2020 19:48:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YjrJDyHRZnEGjoa99QSepbIyWviCAoV3REvh6+9FNrY=; b=ShoaURv7Yiz4UpETASzYYpIicCWNBEsBt+ixuaTFSPowPE6/2RLaoHvv24Vr4Jxp6MgsfY lPUv4b1U++1+bREzD9+Th6/Z6vTWfEkOEOkT0DYGEpbaEGTREqGWYESV+2+JkDxqt0H3NV hP/WTX+2T3DLPu/CRe0j1x8rCLwjxxA= X-MC-Unique: _pev7KstOaGiOD7fIGtu4A-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 12/19] qom: Replace defval value in Property with QLitObject Date: Mon, 23 Nov 2020 14:48:11 -0500 Message-Id: <20201123194818.2773508-13-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" QLitObject is capable of representing a wider range of values, and it will allow us to simplify a lot of the existing code setting property defaults, later. Replace the bool and union fields with QLitObject. In short, this is just a direct translation from: prop->set_default to prop->defval.type !=3D QTYPE_NONE from prop->defval.i to qnum_get_int(qobject_to(QNum, prop->defval) and from prop->defval.u to qnum_get_uint(qobject_to(QNum, prop->defval) Note that this doesn't replace any of the default property setters (yet), but just make them safer. Now the actual type of .defval is validated before it is used. Also note that set_default_uuid_auto() is a bit weird: it ignores .defval completely. This patch keeps the existing behavior, and set_default_uuid_auto() weirdness will be addressed later. Signed-off-by: Eduardo Habkost --- This is a new patch added in v3 of this series. I am splitting the changes and making them in smaller steps to make them easier to understand and review. With this, I intend to demonstrate that the conversion from bool+union to QLitObject is an improvement even if the removal of custom .set_defaul_value functions isn't 100% finished yet. --- include/hw/qdev-properties-system.h | 7 ++++++- include/qom/field-property-internal.h | 9 ++++++--- include/qom/field-property.h | 27 ++++++++++----------------- include/qom/property-types.h | 18 ++++++------------ hw/core/qdev-properties-system.c | 3 ++- qom/field-property.c | 8 ++++++-- qom/property-types.c | 26 ++++++++++++++++++-------- 7 files changed, 54 insertions(+), 44 deletions(-) diff --git a/include/hw/qdev-properties-system.h b/include/hw/qdev-properti= es-system.h index 0ac327ae60..6221da704e 100644 --- a/include/hw/qdev-properties-system.h +++ b/include/hw/qdev-properties-system.h @@ -65,7 +65,12 @@ extern const PropertyInfo qdev_prop_pcie_link_width; =20 #define DEFINE_PROP_UUID(_name, _state, _field) \ DEFINE_PROP(_name, _state, _field, qdev_prop_uuid, QemuUUID, \ - .set_default =3D true) + /* \ + * Note that set_default_uuid_auto() currently \ + * ignores the actual value value of .defval, \ + * we just need it to not be not QTYPE_NONE \ + */ \ + .defval =3D QLIT_QNULL) =20 #define DEFINE_PROP_AUDIODEV(_n, _s, _f) \ DEFINE_PROP(_n, _s, _f, qdev_prop_audiodev, QEMUSoundCard) diff --git a/include/qom/field-property-internal.h b/include/qom/field-prop= erty-internal.h index a7b7e2b69d..7ed0d8d160 100644 --- a/include/qom/field-property-internal.h +++ b/include/qom/field-property-internal.h @@ -14,11 +14,14 @@ void field_prop_set_enum(Object *obj, Visitor *v, const= char *name, void *opaque, Error **errp); =20 void field_prop_set_default_value_enum(ObjectProperty *op, - const Property *prop); + const Property *prop, + const QObject *defval); void field_prop_set_default_value_int(ObjectProperty *op, - const Property *prop); + const Property *prop, + const QObject *defval); void field_prop_set_default_value_uint(ObjectProperty *op, - const Property *prop); + const Property *prop, + const QObject *defval); =20 void field_prop_get_int32(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp); diff --git a/include/qom/field-property.h b/include/qom/field-property.h index 0cb1fe2217..951cec2fb0 100644 --- a/include/qom/field-property.h +++ b/include/qom/field-property.h @@ -6,6 +6,7 @@ =20 #include "qom/object.h" #include "qapi/util.h" +#include "qapi/qmp/qlit.h" =20 /** * struct Property: definition of a field property @@ -27,21 +28,8 @@ struct Property { const PropertyInfo *info; ptrdiff_t offset; uint8_t bitnr; - /** - * @set_default: true if the default value should be set from @defval, - * in which case @info->set_default_value must not be NULL - * (if false then no default value is set by the property system - * and the field retains whatever value it was given by instance_i= nit). - */ - bool set_default; - /** - * @defval: default value for the property. This is used only if @set_= default - * is true. - */ - union { - int64_t i; - uint64_t u; - } defval; + /** @defval: If not QTYPE_NONE, the default value for the property */ + QLitObject defval; /* private: */ int arrayoffset; const PropertyInfo *arrayinfo; @@ -61,8 +49,13 @@ struct PropertyInfo { const QEnumLookup *enum_table; /** @print: String formatting function, for the human monitor */ int (*print)(Object *obj, Property *prop, char *dest, size_t len); - /** @set_default_value: Callback for initializing the default value */ - void (*set_default_value)(ObjectProperty *op, const Property *prop); + /** + * @set_default_value: Callback for initializing the default value + * + * @defval is a weak reference. + */ + void (*set_default_value)(ObjectProperty *op, const Property *prop, + const QObject *defval); /** @create: Optional callback for creation of property */ ObjectProperty *(*create)(ObjectClass *oc, const char *name, Property *prop); diff --git a/include/qom/property-types.h b/include/qom/property-types.h index 3132ddafd9..46e691dab4 100644 --- a/include/qom/property-types.h +++ b/include/qom/property-types.h @@ -25,34 +25,29 @@ extern const PropertyInfo prop_info_link; =20 #define PROP_SIGNED(_state, _field, _defval, _prop, _type, ...) \ FIELD_PROP(_state, _field, _prop, _type, \ - .set_default =3D true, \ - .defval.i =3D (_type)_defval, \ + .defval =3D QLIT_QNUM_INT((_type)_defval), \ __VA_ARGS__) =20 #define PROP_UNSIGNED(_state, _field, _defval, _prop, _type, ...) \ FIELD_PROP(_state, _field, _prop, _type, \ - .set_default =3D true, \ - .defval.u =3D (_type)_defval, \ + .defval =3D QLIT_QNUM_UINT((_type)_defval), \ __VA_ARGS__) =20 #define PROP_BIT(_state, _field, _bit, _defval, ...) \ FIELD_PROP(_state, _field, prop_info_bit, uint32_t, \ .bitnr =3D (_bit), \ - .set_default =3D true, \ - .defval.u =3D (bool)_defval, \ + .defval =3D QLIT_QBOOL(_defval), \ __VA_ARGS__) =20 #define PROP_BIT64(_state, _field, _bit, _defval, ...) \ FIELD_PROP(_state, _field, prop_info_bit64, uint64_t, \ .bitnr =3D (_bit), \ - .set_default =3D true, \ - .defval.u =3D (bool)_defval, \ + .defval =3D QLIT_QBOOL(_defval), \ __VA_ARGS__) =20 #define PROP_BOOL(_state, _field, _defval, ...) \ FIELD_PROP(_state, _field, prop_info_bool, bool, \ - .set_default =3D true, \ - .defval.u =3D (bool)_defval, \ + .defval =3D QLIT_QBOOL(_defval), \ __VA_ARGS__) =20 #define PROP_LINK(_state, _field, _type, _ptr_type, ...) \ @@ -131,8 +126,7 @@ extern const PropertyInfo prop_info_link; _arrayfield, _arrayprop, _arraytype) \ DEFINE_PROP((PROP_ARRAY_LEN_PREFIX _name), \ _state, _field, prop_info_arraylen, uint32_t, \ - .set_default =3D true, \ - .defval.u =3D 0, \ + .defval =3D QLIT_QNUM_UINT(0), \ .arrayinfo =3D &(_arrayprop), \ .arrayfieldsize =3D sizeof(_arraytype), \ .arrayoffset =3D offsetof(_state, _arrayfield)) diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index 8da68f076c..217e041152 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -1080,7 +1080,8 @@ static void set_uuid(Object *obj, Visitor *v, const c= har *name, void *opaque, g_free(str); } =20 -static void set_default_uuid_auto(ObjectProperty *op, const Property *prop) +static void set_default_uuid_auto(ObjectProperty *op, const Property *prop, + const QObject *defval) { object_property_set_default_str(op, UUID_VALUE_AUTO); } diff --git a/qom/field-property.c b/qom/field-property.c index 6a0df7c6ea..593ffb53e9 100644 --- a/qom/field-property.c +++ b/qom/field-property.c @@ -65,12 +65,16 @@ static void static_prop_release_dynamic_prop(Object *ob= j, const char *name, static void field_prop_set_default_value(ObjectProperty *op, Property *prop) { - if (!prop->set_default) { + QObject *defval; + + if (prop->defval.type =3D=3D QTYPE_NONE) { return; } =20 + defval =3D qobject_from_qlit(&prop->defval); assert(prop->info->set_default_value); - prop->info->set_default_value(op, prop); + prop->info->set_default_value(op, prop, defval); + qobject_unref(defval); } =20 ObjectProperty * diff --git a/qom/property-types.c b/qom/property-types.c index 4b3fe15b6a..0fc24b3687 100644 --- a/qom/property-types.c +++ b/qom/property-types.c @@ -6,6 +6,8 @@ #include "qapi/visitor.h" #include "qapi/error.h" #include "qemu/uuid.h" +#include "qapi/qmp/qnum.h" +#include "qapi/qmp/qbool.h" =20 void field_prop_get_enum(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) @@ -26,10 +28,12 @@ void field_prop_set_enum(Object *obj, Visitor *v, const= char *name, } =20 void field_prop_set_default_value_enum(ObjectProperty *op, - const Property *prop) + const Property *prop, + const QObject *defval) { + QNum *qn =3D qobject_to(QNum, defval); object_property_set_default_str(op, - qapi_enum_lookup(prop->info->enum_table, prop->defval.i)); + qapi_enum_lookup(prop->info->enum_table, qnum_get_int(qn))); } =20 const PropertyInfo prop_info_enum =3D { @@ -80,9 +84,11 @@ static void prop_set_bit(Object *obj, Visitor *v, const = char *name, bit_prop_set(obj, prop, value); } =20 -static void set_default_value_bool(ObjectProperty *op, const Property *pro= p) +static void set_default_value_bool(ObjectProperty *op, const Property *pro= p, + const QObject *defval) { - object_property_set_default_bool(op, prop->defval.u); + QBool *qb =3D qobject_to(QBool, defval); + object_property_set_default_bool(op, qbool_get_bool(qb)); } =20 const PropertyInfo prop_info_bit =3D { @@ -190,15 +196,19 @@ static void set_uint8(Object *obj, Visitor *v, const = char *name, void *opaque, } =20 void field_prop_set_default_value_int(ObjectProperty *op, - const Property *prop) + const Property *prop, + const QObject *defval) { - object_property_set_default_int(op, prop->defval.i); + QNum *qn =3D qobject_to(QNum, defval); + object_property_set_default_int(op, qnum_get_int(qn)); } =20 void field_prop_set_default_value_uint(ObjectProperty *op, - const Property *prop) + const Property *prop, + const QObject *defval) { - object_property_set_default_uint(op, prop->defval.u); + QNum *qn =3D qobject_to(QNum, defval); + object_property_set_default_uint(op, qnum_get_uint(qn)); } =20 const PropertyInfo prop_info_uint8 =3D { --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606162370; cv=none; d=zohomail.com; s=zohoarc; b=LKp6THWUo3+ViMm2M+8I+XNJmVbiS1NIY2FufSFQgFxbGX37CjTRLVUeoj8Pzb8W3fNCyajRpi9O6IEahQxSTuhH/DU2GsB2ckUHK/cSxNxI3Dgv4oUVNXD4UAU5Ss8arsjCwg9DElW3LtD38A4k5hrnpnR4IorwMsBQo/IC+cA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606162370; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ScNPODguvJ6imByWvlIehX94TJc2c4n3IZPCgl5Q9ws=; b=SFcqrSf64ZzINx2iFCrFUbT0pvKq58aUSpXa82P5X6et+9IMtb5TQHZZMpo2d4DTJz+RCKoJRHwnrj1sYvBlaUxKUlZrI7fHyuUthiSvfdus+d8RYYV2/fcnNVZO5AaMFoqSrj9gTxmbN7UBFYFgi9KhKhqLxvX6QlItw18prko= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606162370492466.90033312728565; Mon, 23 Nov 2020 12:12:50 -0800 (PST) Received: from localhost ([::1]:44902 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khICf-0002yb-98 for importer@patchew.org; Mon, 23 Nov 2020 15:12:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58910) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpk-0006Px-Ft for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:14 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:32232) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpe-0007sZ-Ki for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:08 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-375-sQJGCBQqNsKtfOYIEvYhzg-1; Mon, 23 Nov 2020 14:48:58 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C90EB1012E6A for ; Mon, 23 Nov 2020 19:48:57 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 716DF100164C; Mon, 23 Nov 2020 19:48:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ScNPODguvJ6imByWvlIehX94TJc2c4n3IZPCgl5Q9ws=; b=fS6lDjqAjYJCLawhWaQJp4k76lgd2YPkCUv71wT63ji2eQhAMIZbjOAUEv3OnL4OmQX2zR GS1i6gvsBs1MQlYdRcxD0D3x4MsjkErR+iEZHfCZHlpWDLB35ckH8wdc8maxeznu3ohmhg 6Q7AJflqFjQU2fGi6QO2+sknaEH6Fdc= X-MC-Unique: sQJGCBQqNsKtfOYIEvYhzg-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 13/19] qom: Fix documentation of UUID property type Date: Mon, 23 Nov 2020 14:48:12 -0500 Message-Id: <20201123194818.2773508-14-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" On some cases, the documentation for UUID properties is lying: properties defined using DEFINE_PROP_UUID_NODEFAULT are not set to "auto" by default. It's better to omit this instead of providing incorrect information. Signed-off-by: Eduardo Habkost --- This is a new patch addeed in v3 of this series. --- hw/core/qdev-properties-system.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index 217e041152..6071f672a4 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -1089,7 +1089,7 @@ static void set_default_uuid_auto(ObjectProperty *op,= const Property *prop, const PropertyInfo qdev_prop_uuid =3D { .name =3D "str", .description =3D "UUID (aka GUID) or \"" UUID_VALUE_AUTO - "\" for random value (default)", + "\" for random value", .get =3D get_uuid, .set =3D set_uuid, .set_default_value =3D set_default_uuid_auto, --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161946; cv=none; d=zohomail.com; s=zohoarc; b=cjWEszdqrVldAOOjGovrVMuwlODtezcfc4QracFaI5ByJ4ZLWRcbHqy8bpfbdsJXNWXjhe8xjRIPIyUCUFJzGu9LyxU6+SiUuj59yF+XPFflDx2nOJRzMScdicetrRh+Ag4cXjdiH73QS+Z89EuMLhQOv+K8nqnvrcYYEK5TLBg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161946; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zKe5025jyXMqnHCYcS+WlyUvhYBc4ugtlIA1fx2KL6A=; b=SD4tpXwbBpIeVt6jGpQ9Qx7HQDQy2V6rYpMpirF73IBWyX39xvKfhSaZm7OSO+Dk9hciiXK8CT4CxqH2hkInZY93vW0aaxuyXH8kgymGGhp1MUyShFxtzwojUg0EUpz0nxY5cAu9toY1IlAHQFXphJzVa1iaSvCuysGKCzuDsdc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161946202298.6603526634201; Mon, 23 Nov 2020 12:05:46 -0800 (PST) Received: from localhost ([::1]:55634 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khI5p-0003un-6X for importer@patchew.org; Mon, 23 Nov 2020 15:05:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58954) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpp-0006Qc-IR for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:14 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:59112) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpj-0007tp-Ft for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:13 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-193-BQLPc2YDNDeXiTk83-MHPg-1; Mon, 23 Nov 2020 14:49:03 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7F5A480F040 for ; Mon, 23 Nov 2020 19:49:02 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 06DB15D9CC; Mon, 23 Nov 2020 19:48:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zKe5025jyXMqnHCYcS+WlyUvhYBc4ugtlIA1fx2KL6A=; b=U85Q2w7XkOF9j2tpLg0QEQDfmMFTmKLWxEm6QkO3UIrKJdC/OAx/1jk1YfQDiGVmu3xOjz H097VV8y4W5i3f8V54+30GnCz8zUm/eSYmm3FaTurRGcOx64dDZOQYGWNrEqbXx17TUzn6 LK8I0RfKifDTNuZk9LzqG/HsYV07jEw= X-MC-Unique: BQLPc2YDNDeXiTk83-MHPg-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 14/19] qom: Don't ignore defval on UUID property Date: Mon, 23 Nov 2020 14:48:13 -0500 Message-Id: <20201123194818.2773508-15-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" UUID properties were weird because the value of .defval was completely ignored. Fix this by setting the default value to QLIT_QSTR("auto") on the default case, and actually using .defval inside .set_default_value. Signed-off-by: Eduardo Habkost --- This is a new patch added in v3 of this series. This is similar (but not completely the same) to changes that were submitted as part of "[PATCH v2 8/8] qom: Use qlit to represent property defaults". --- include/hw/qdev-properties-system.h | 9 +++------ hw/core/qdev-properties-system.c | 10 +++++----- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/include/hw/qdev-properties-system.h b/include/hw/qdev-properti= es-system.h index 6221da704e..834ca84904 100644 --- a/include/hw/qdev-properties-system.h +++ b/include/hw/qdev-properties-system.h @@ -63,14 +63,11 @@ extern const PropertyInfo qdev_prop_pcie_link_width; DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pcie_link_width, \ PCIExpLinkWidth) =20 +#define UUID_VALUE_AUTO "auto" + #define DEFINE_PROP_UUID(_name, _state, _field) \ DEFINE_PROP(_name, _state, _field, qdev_prop_uuid, QemuUUID, \ - /* \ - * Note that set_default_uuid_auto() currently \ - * ignores the actual value value of .defval, \ - * we just need it to not be not QTYPE_NONE \ - */ \ - .defval =3D QLIT_QNULL) + .defval =3D QLIT_QSTR(UUID_VALUE_AUTO)) =20 #define DEFINE_PROP_AUDIODEV(_n, _s, _f) \ DEFINE_PROP(_n, _s, _f, qdev_prop_audiodev, QEMUSoundCard) diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index 6071f672a4..117c540254 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -15,6 +15,7 @@ #include "hw/qdev-properties-system.h" #include "qapi/error.h" #include "qapi/visitor.h" +#include "qapi/qmp/qstring.h" #include "qapi/qapi-types-block.h" #include "qapi/qapi-types-machine.h" #include "qapi/qapi-types-migration.h" @@ -1059,8 +1060,6 @@ static void get_uuid(Object *obj, Visitor *v, const c= har *name, void *opaque, visit_type_str(v, name, &p, errp); } =20 -#define UUID_VALUE_AUTO "auto" - static void set_uuid(Object *obj, Visitor *v, const char *name, void *opaq= ue, Error **errp) { @@ -1080,10 +1079,11 @@ static void set_uuid(Object *obj, Visitor *v, const= char *name, void *opaque, g_free(str); } =20 -static void set_default_uuid_auto(ObjectProperty *op, const Property *prop, +static void set_default_uuid(ObjectProperty *op, const Property *prop, const QObject *defval) { - object_property_set_default_str(op, UUID_VALUE_AUTO); + QString *qs =3D qobject_to(QString, defval); + object_property_set_default_str(op, qstring_get_str(qs)); } =20 const PropertyInfo qdev_prop_uuid =3D { @@ -1092,5 +1092,5 @@ const PropertyInfo qdev_prop_uuid =3D { "\" for random value", .get =3D get_uuid, .set =3D set_uuid, - .set_default_value =3D set_default_uuid_auto, + .set_default_value =3D set_default_uuid, }; --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606162571; cv=none; d=zohomail.com; s=zohoarc; b=Prar9TIec22bwlwHE/f9A3WDiMHC84vV1eh5Th3OCujAfdwIi7hr2Y/Mw6ZjaenCxdt+FF74UQ4A5/VVqmiPxgyFocJHz4lF175C6JkRMCzOxicuDD9/fgCfHO1dVAVutYEEq8CiPPSTneigA5xCCImHqlqmox39lPqPz6+W+kQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606162571; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xQldrGgePq9IKz8ZDRqERFSVJbb2ANqN1ThasIyDiKc=; b=CwFI2JGCO0TCj2Q5eDNgXn+Kltxerhtk/+1g7fmbgmJ/oDe0ZVFmMhYbKMU2yKOZGAXpOf9bFQhMm0ej3nXqQ4i6Z6UNk2yoqv+XZabzLdoRrrg7A6CELaiIepdNouoUaHYuk/ggsR8octV1mlW37bMxqz5BgWR+h+HSbT9YCmE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 160616257116183.72761723473752; Mon, 23 Nov 2020 12:16:11 -0800 (PST) Received: from localhost ([::1]:51610 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khIFu-00065q-1q for importer@patchew.org; Mon, 23 Nov 2020 15:16:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59004) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHpu-0006Rz-9T for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:20 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:52096) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpp-0007uq-Ab for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:17 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-595--Qn6CCECPSWRDFAcXXOVCw-1; Mon, 23 Nov 2020 14:49:08 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5066518C43C1 for ; Mon, 23 Nov 2020 19:49:07 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 92CC16062F; Mon, 23 Nov 2020 19:49:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xQldrGgePq9IKz8ZDRqERFSVJbb2ANqN1ThasIyDiKc=; b=KGFlst6My79RlwbEAYKMDRvHGjutDnifuckkmkNlHszUggP5mPGnFOVnoUsFbbW97aJ8v5 Ncrfl8SW0LclQu9dgGf5DPO7Qvo0krrDaFTPQvo4/olepEjoioh/9jBEJDNKmyu6Hkc+or p0wRyWFvvCGi42LAGjMzIZxoV1vWiVU= X-MC-Unique: -Qn6CCECPSWRDFAcXXOVCw-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 15/19] qom: Make object_property_set_default() public Date: Mon, 23 Nov 2020 14:48:14 -0500 Message-Id: <20201123194818.2773508-16-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) The function will be used outside qom/object.c, to simplify the field property code that sets the property default value. Reviewed-by: Marc-Andr=C3=A9 Lureau Signed-off-by: Eduardo Habkost --- include/qom/object.h | 11 +++++++++++ qom/object.c | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/qom/object.h b/include/qom/object.h index 2ab124b8f0..4234cc9b66 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1090,6 +1090,17 @@ ObjectProperty *object_class_property_add(ObjectClas= s *klass, const char *name, ObjectPropertyRelease *release, void *opaque); =20 +/** + * object_property_set_default: + * @prop: the property to set + * @value: the value to be written to the property + * + * Set the property default value. + * + * Ownership of @value is transferred to the property. + */ +void object_property_set_default(ObjectProperty *prop, QObject *value); + /** * object_property_set_default_bool: * @prop: the property to set diff --git a/qom/object.c b/qom/object.c index 7c11bcd3b1..6b0d9d8c79 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1547,7 +1547,7 @@ static void object_property_init_defval(Object *obj, = ObjectProperty *prop) visit_free(v); } =20 -static void object_property_set_default(ObjectProperty *prop, QObject *def= val) +void object_property_set_default(ObjectProperty *prop, QObject *defval) { assert(!prop->defval); assert(!prop->init); --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606162796; cv=none; d=zohomail.com; s=zohoarc; b=fZUh0/VPfeLARcsm0iuoambh5cBIRMk/p4tqmjddhEFgeNp8oCr32+LLyD50ia1oJzZarJVYNbG/M795OLl1xarCI8F1O9DwEKD4xpotaDcEXJHNAh/JZkacQri+ZARXr75Lzmnqdn73kzNe0oDRWG4TcbiaN2kjlarJNr4bTH8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606162796; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HbLCIF6CtGHcuuTHcvlnbNvJqP2vd8/l7+RtnDAhzMY=; b=bAPFbAVmJgEpo6YBPkW0ddncDAyltxl+tIvTfUWgJJbKtdtUzOS1VHEWTCbTnb9bGgJ0wV20SDFc+BSLm+MRrxBW9OO5lpnkPfY83mzEeYLRbwzoWis/5GoLY5ioaMgRQ8d1zSEU+UWwe/FgE3qcO6y6NVSp1v5qWWvBPO4YcKI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606162796349433.9465487040741; Mon, 23 Nov 2020 12:19:56 -0800 (PST) Received: from localhost ([::1]:59268 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khIJX-00013N-4j for importer@patchew.org; Mon, 23 Nov 2020 15:19:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59106) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHq4-0006Ui-6E for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:28 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:48826) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpt-0007vR-Mh for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:25 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-291-2sL3Bg0sNyGyHjUYjgnjeQ-1; Mon, 23 Nov 2020 14:49:13 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id F027C1012E5E for ; Mon, 23 Nov 2020 19:49:12 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7274B19D9D; Mon, 23 Nov 2020 19:49:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HbLCIF6CtGHcuuTHcvlnbNvJqP2vd8/l7+RtnDAhzMY=; b=ijOmjwab/dgcblB/0R+NK3Q4BIuxWsSQez5V9MC29MGvsAfySTeeHPvykpdW79Fh7FDbzB DZ+nCCBAx+sq3alJxKg/UzELkJP5ZdADQD0n+mD8G3SwI8k0m36spi+EfE7LyK+fs6vdxo O1tRA8e3U8IT77EnbFYsGjuOAP82X80= X-MC-Unique: 2sL3Bg0sNyGyHjUYjgnjeQ-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 16/19] qom: Make PropertyInfo.set_default_value optional Date: Mon, 23 Nov 2020 14:48:15 -0500 Message-Id: <20201123194818.2773508-17-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" If .set_default_value is not set, call object_property_set_default(). This will let us delete most of the .set_default_value functions later. Signed-off-by: Eduardo Habkost --- This is a new patch in v3 of this series. In v2 of the series, equivalent functionality was implemented by "qom: Use qlit to represent property defaults". --- include/qom/field-property.h | 3 +++ qom/field-property.c | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/include/qom/field-property.h b/include/qom/field-property.h index 951cec2fb0..00b83ee9ba 100644 --- a/include/qom/field-property.h +++ b/include/qom/field-property.h @@ -53,6 +53,9 @@ struct PropertyInfo { * @set_default_value: Callback for initializing the default value * * @defval is a weak reference. + * + * Optional. If not set and Property.defval is not QTYPE_NONE, + * object_property_set_default() will be called. */ void (*set_default_value)(ObjectProperty *op, const Property *prop, const QObject *defval); diff --git a/qom/field-property.c b/qom/field-property.c index 593ffb53e9..d21ff98862 100644 --- a/qom/field-property.c +++ b/qom/field-property.c @@ -72,8 +72,16 @@ static void field_prop_set_default_value(ObjectProperty = *op, } =20 defval =3D qobject_from_qlit(&prop->defval); - assert(prop->info->set_default_value); - prop->info->set_default_value(op, prop, defval); + if (prop->info->set_default_value) { + /* .set_default_value() gets a weak reference */ + prop->info->set_default_value(op, prop, defval); + } else { + /* + * object_property_set_default() takes ownership, + * so qobject_ref() is needed. + */ + object_property_set_default(op, qobject_ref(defval)); + } qobject_unref(defval); } =20 --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606162132; cv=none; d=zohomail.com; s=zohoarc; b=gu98kmckvYAsY+zdIjXrbFt137RozdOH5cjAS6Wq9r5dJE//Jarmm9uU/8AVtDy3e3d9FBe14RkJ4htjRjVs6VFhZKtLlcQ3w/Covun9WePs0fNhXuI1kETGgPnv9y4PgE5ln/xIYensRDQUOwMaY8+u3vGzbx3ZvboSDQA2HKI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606162132; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=K3JSyj5T3QUAnHKS1UzREqf5hdNxHBx5nm6SPH2Ouxc=; b=U7KzXlwClzBwO266w81bDUNIg0Frakv/f8KHjMI252kWYGPVsOvYYsRpAKaLdeQ+W9JVOAFihJTS2734v1fV4oUzYCP2oL+zvvwg45oZSQYhCzhuwb9jGLeZfbJvw+X6w2w101gVC6X4qzsm1hbQkzxITT/4h1rgJj/XHN7VfbI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606162132391979.5773749964351; Mon, 23 Nov 2020 12:08:52 -0800 (PST) Received: from localhost ([::1]:35756 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khI8o-0007X0-JJ for importer@patchew.org; Mon, 23 Nov 2020 15:08:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHq5-0006Vp-NC for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:30 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:39101) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHpu-0007wS-AH for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:27 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-338-4vmyd-M4MS2qi4tErwSexw-1; Mon, 23 Nov 2020 14:49:15 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C6B511012E67 for ; Mon, 23 Nov 2020 19:49:14 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5DBB319D80; Mon, 23 Nov 2020 19:49:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=K3JSyj5T3QUAnHKS1UzREqf5hdNxHBx5nm6SPH2Ouxc=; b=YSSRhJCxf+ytui86RytWGZ+E6oaKlHrp3HRguoXfqDxtHFrWUOA6RhTPEaqFOfVxMFlqCy /FXUoM0AERcLQfZZRRKbTzLTfcrXHOeYYbT9EulEqinZvqMTB+DtiDcpD0119Va1DESjkN srGXnA3SN+gdxpMxuFbnnyJI7sVatDg= X-MC-Unique: 4vmyd-M4MS2qi4tErwSexw-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 17/19] qom: Delete field_prop_set_default_value_*int() Date: Mon, 23 Nov 2020 14:48:16 -0500 Message-Id: <20201123194818.2773508-18-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The field_prop_set_default_value_*int() functions can be completely replaced by object_propert_set_default(), we don't need them anymore. Signed-off-by: Eduardo Habkost --- This is a new patch in v3 of this series. In v2 of the series, equivalent changes were part of "qom: Use qlit to represent property defaults". --- include/qom/field-property-internal.h | 6 ------ hw/core/qdev-properties-system.c | 2 -- qom/property-types.c | 25 ------------------------- 3 files changed, 33 deletions(-) diff --git a/include/qom/field-property-internal.h b/include/qom/field-prop= erty-internal.h index 7ed0d8d160..4bcf5b45f3 100644 --- a/include/qom/field-property-internal.h +++ b/include/qom/field-property-internal.h @@ -16,12 +16,6 @@ void field_prop_set_enum(Object *obj, Visitor *v, const = char *name, void field_prop_set_default_value_enum(ObjectProperty *op, const Property *prop, const QObject *defval); -void field_prop_set_default_value_int(ObjectProperty *op, - const Property *prop, - const QObject *defval); -void field_prop_set_default_value_uint(ObjectProperty *op, - const Property *prop, - const QObject *defval); =20 void field_prop_get_int32(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp); diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index 117c540254..b2df955f2a 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -571,7 +571,6 @@ const PropertyInfo qdev_prop_blocksize =3D { " and " MAX_BLOCK_SIZE_STR, .get =3D field_prop_get_size32, .set =3D set_blocksize, - .set_default_value =3D field_prop_set_default_value_uint, }; =20 /* --- Block device error handling policy --- */ @@ -769,7 +768,6 @@ const PropertyInfo qdev_prop_pci_devfn =3D { .print =3D print_pci_devfn, .get =3D field_prop_get_int32, .set =3D set_pci_devfn, - .set_default_value =3D field_prop_set_default_value_int, }; =20 /* --- pci host address --- */ diff --git a/qom/property-types.c b/qom/property-types.c index 0fc24b3687..399e36c29e 100644 --- a/qom/property-types.c +++ b/qom/property-types.c @@ -195,27 +195,10 @@ static void set_uint8(Object *obj, Visitor *v, const = char *name, void *opaque, visit_type_uint8(v, name, ptr, errp); } =20 -void field_prop_set_default_value_int(ObjectProperty *op, - const Property *prop, - const QObject *defval) -{ - QNum *qn =3D qobject_to(QNum, defval); - object_property_set_default_int(op, qnum_get_int(qn)); -} - -void field_prop_set_default_value_uint(ObjectProperty *op, - const Property *prop, - const QObject *defval) -{ - QNum *qn =3D qobject_to(QNum, defval); - object_property_set_default_uint(op, qnum_get_uint(qn)); -} - const PropertyInfo prop_info_uint8 =3D { .name =3D "uint8", .get =3D get_uint8, .set =3D set_uint8, - .set_default_value =3D field_prop_set_default_value_uint, }; =20 /* --- 16bit integer --- */ @@ -242,7 +225,6 @@ const PropertyInfo prop_info_uint16 =3D { .name =3D "uint16", .get =3D get_uint16, .set =3D set_uint16, - .set_default_value =3D field_prop_set_default_value_uint, }; =20 /* --- 32bit integer --- */ @@ -287,14 +269,12 @@ const PropertyInfo prop_info_uint32 =3D { .name =3D "uint32", .get =3D get_uint32, .set =3D set_uint32, - .set_default_value =3D field_prop_set_default_value_uint, }; =20 const PropertyInfo prop_info_int32 =3D { .name =3D "int32", .get =3D field_prop_get_int32, .set =3D set_int32, - .set_default_value =3D field_prop_set_default_value_int, }; =20 /* --- 64bit integer --- */ @@ -339,14 +319,12 @@ const PropertyInfo prop_info_uint64 =3D { .name =3D "uint64", .get =3D get_uint64, .set =3D set_uint64, - .set_default_value =3D field_prop_set_default_value_uint, }; =20 const PropertyInfo prop_info_int64 =3D { .name =3D "int64", .get =3D get_int64, .set =3D set_int64, - .set_default_value =3D field_prop_set_default_value_int, }; =20 /* --- string --- */ @@ -441,7 +419,6 @@ const PropertyInfo prop_info_size32 =3D { .name =3D "size", .get =3D field_prop_get_size32, .set =3D set_size32, - .set_default_value =3D field_prop_set_default_value_uint, }; =20 /* --- support for array properties --- */ @@ -505,7 +482,6 @@ const PropertyInfo prop_info_arraylen =3D { .name =3D "uint32", .get =3D get_uint32, .set =3D set_prop_arraylen, - .set_default_value =3D field_prop_set_default_value_uint, }; =20 /* --- 64bit unsigned int 'size' type --- */ @@ -532,7 +508,6 @@ const PropertyInfo prop_info_size =3D { .name =3D "size", .get =3D get_size, .set =3D set_size, - .set_default_value =3D field_prop_set_default_value_uint, }; =20 /* --- object link property --- */ --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161497; cv=none; d=zohomail.com; s=zohoarc; b=VWs1phusXEFhIJxMUzbjda/Qz2ltXLI4IJlKYgga2MGrCviGIYVhzeCZc+p4vYDssSXIAapPLr1Vypd4TDAXJrG4yubQVrJ6LgIJcpBZWvBnXI22WDaQhW4GBwfcIX82/2BsubtQIiafgJCvsq7Elzbv0eM3qhYNwe/x8QJL6sM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161497; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HSZUo13R9CnEYypcKQqlc4h4LLGI4QBeigOw9i0aAfk=; b=A9vxRhNPoCvuE97WONgU4HTKlFHOcEP98Dt03D4NgQCAoXiLMpze4kGi2T7wmhof6OeWx7vUyJf0D0pwBPoTZTleyESlq5ieYNpEY+gqC94jTQtNYwiBnveN6SOxRcxqWSD7JYOqixHMZmPaZnxt3/VuNgyLEznQ1B2lyVUVe98= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161497642313.3538528972224; Mon, 23 Nov 2020 11:58:17 -0800 (PST) Received: from localhost ([::1]:43508 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khHya-0006sc-Bx for importer@patchew.org; Mon, 23 Nov 2020 14:58:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59180) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHqA-0006Z1-KO for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:35 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:41502) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHq1-0007x0-B3 for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:34 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-493-VBn33v0MNf6CRsSlTMWLbQ-1; Mon, 23 Nov 2020 14:49:21 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3840480F040 for ; Mon, 23 Nov 2020 19:49:20 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3C7CD5C1BB; Mon, 23 Nov 2020 19:49:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HSZUo13R9CnEYypcKQqlc4h4LLGI4QBeigOw9i0aAfk=; b=az8/gYuZsQuhsc8v5D3V6zQ17Nm+LfJW5F+WVgBtfQDe4c/2xA8N/uISw0UE2pcVFsOfNX 8W7sP20oKKyvfc8sk6QXM+iIpeyWejVibNifRZq3gsaHeWOkO88JB4Ahd5MMIT+npXF73Q 5aBxBJc2auGZfkBFFEMKaB160aZMlCQ= X-MC-Unique: VBn33v0MNf6CRsSlTMWLbQ-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 18/19] qom: Delete set_default_uuid() Date: Mon, 23 Nov 2020 14:48:17 -0500 Message-Id: <20201123194818.2773508-19-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The function can be completely replaced by object_property_set_default(), we don't need it anymore. Signed-off-by: Eduardo Habkost --- This is a new patch in v3 of this series. In v2 of the series, equivalent changes were part of "qom: Use qlit to represent property defaults". --- hw/core/qdev-properties-system.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index b2df955f2a..07945ea1c0 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -1077,18 +1077,10 @@ static void set_uuid(Object *obj, Visitor *v, const= char *name, void *opaque, g_free(str); } =20 -static void set_default_uuid(ObjectProperty *op, const Property *prop, - const QObject *defval) -{ - QString *qs =3D qobject_to(QString, defval); - object_property_set_default_str(op, qstring_get_str(qs)); -} - const PropertyInfo qdev_prop_uuid =3D { .name =3D "str", .description =3D "UUID (aka GUID) or \"" UUID_VALUE_AUTO "\" for random value", .get =3D get_uuid, .set =3D set_uuid, - .set_default_value =3D set_default_uuid, }; --=20 2.28.0 From nobody Sun May 5 02:12:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606161798; cv=none; d=zohomail.com; s=zohoarc; b=nqKLZ9b8aYS+6oJue2XhHoyVRv1Th2RUaIg6/tyPtunVCxvBEwlHW/8JoqvMPmNIuwM3w2GZ2+V2lCJWuAtASOyrnT71fObhC52T8Y5oKdbWBHerhWvvfzf9VA+c6oXb32H7musfuMjiCpnMUrcVz1ecRm41uDBUBqck6hoSVhE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606161798; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=p2xG23QU2BBr4WUJwpoqrLR+KDBqozVx87q5a4/razE=; b=b4Hdhp+NgXse6NTxSN6cv/7Bv/kyZTGiTktSbV444yTfhgZPoC2ABgfZ4Yc3/8wtr8M8xTl2Y3UWH78a5hxUaiKoSTo1n8THTngxB+iUB16g+XrbVAEW+Lm+cfA5nGYogt06Iosn08XHk9Yrqf408kmQ+qSzPftgsx1s/LYGOwA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606161798340772.6695010567094; Mon, 23 Nov 2020 12:03:18 -0800 (PST) Received: from localhost ([::1]:52396 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khI3Q-0002Us-G6 for importer@patchew.org; Mon, 23 Nov 2020 15:03:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59176) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khHqA-0006YT-Fi for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:34 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:37675) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khHq5-0007x9-3n for qemu-devel@nongnu.org; Mon, 23 Nov 2020 14:49:32 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-5-XMfvKki8M4-eU0F4ZSDNRg-1; Mon, 23 Nov 2020 14:49:24 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5EB30AFA86 for ; Mon, 23 Nov 2020 19:49:23 +0000 (UTC) Received: from localhost (unknown [10.10.67.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 43C8B5C1BD; Mon, 23 Nov 2020 19:49:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606160966; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=p2xG23QU2BBr4WUJwpoqrLR+KDBqozVx87q5a4/razE=; b=YUoZS045nE1501JqUS66l3Sx2RFY5KOJzzvuVidY44NwjmP1yPF5e1DmLaefoUxBsoooUX P+HpGC6e0BJZS4QvuniPLSEW4ThI7FRHSJ3hClyZx8Wq+QOZjPwHOCooSuJjk5djK5MHFR s91JTgDI1GsiYwxrq5pQLmXPZSLDYNU= X-MC-Unique: XMfvKki8M4-eU0F4ZSDNRg-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v3 19/19] qom: Delete set_default_value_bool() Date: Mon, 23 Nov 2020 14:48:18 -0500 Message-Id: <20201123194818.2773508-20-ehabkost@redhat.com> In-Reply-To: <20201123194818.2773508-1-ehabkost@redhat.com> References: <20201123194818.2773508-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" set_default_value_bool() can be completely replaced by object_property_set_default(), we don't need that function anymore. Signed-off-by: Eduardo Habkost --- This is a new patch in v3 of this series. In v2 of the series, equivalent changes were part of "qom: Use qlit to represent property defaults". --- qom/property-types.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/qom/property-types.c b/qom/property-types.c index 399e36c29e..cb7ba2a229 100644 --- a/qom/property-types.c +++ b/qom/property-types.c @@ -84,19 +84,11 @@ static void prop_set_bit(Object *obj, Visitor *v, const= char *name, bit_prop_set(obj, prop, value); } =20 -static void set_default_value_bool(ObjectProperty *op, const Property *pro= p, - const QObject *defval) -{ - QBool *qb =3D qobject_to(QBool, defval); - object_property_set_default_bool(op, qbool_get_bool(qb)); -} - const PropertyInfo prop_info_bit =3D { .name =3D "bool", .description =3D "on/off", .get =3D prop_get_bit, .set =3D prop_set_bit, - .set_default_value =3D set_default_value_bool, }; =20 /* Bit64 */ @@ -145,7 +137,6 @@ const PropertyInfo prop_info_bit64 =3D { .description =3D "on/off", .get =3D prop_get_bit64, .set =3D prop_set_bit64, - .set_default_value =3D set_default_value_bool, }; =20 /* --- bool --- */ @@ -172,7 +163,6 @@ const PropertyInfo prop_info_bool =3D { .name =3D "bool", .get =3D get_bool, .set =3D set_bool, - .set_default_value =3D set_default_value_bool, }; =20 /* --- 8bit integer --- */ --=20 2.28.0