From nobody Mon Feb 9 16:54:11 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1632411476; cv=none; d=zohomail.com; s=zohoarc; b=HylNSJhNUwzHod0BFtmihgkKoqn/yqETQQzBNqGRsik0r+NoTCg/IxlaLRbI35g7uWhkDucxTLHAziZJGoNQ6hasJx0k4GguQhhmMGBxNUrBWmPxTteoE6c2y2vd45/3jjWLmvL5ZMIJXdheby4RLmsadd/GeumLPrwZfXf/QyI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1632411476; h=Content-Type:Content-Transfer-Encoding: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=uneg8Fu3lMUEdV4y8K+r0cq1JrbyWqaEMPzitVo/zIs=; b=QzjMrhyrzJCrXdRVfXXxvR38WXkaMX6Avhd2zpDkKYpaeXc9shsfiMOzh8p3faml2OchLjsa5/rMl6HHj2MlM5VNpvkVZ7shyIkb5biAcl6d+jBOUnFWuXVBMyYReaV+x+jA+jI/84EW0wy4eBQz/gIsSoOqtBYkfbREbdElnrQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1632411476748778.092227019096; Thu, 23 Sep 2021 08:37:56 -0700 (PDT) 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-549-J-6PYPTKPVO5jzgzFx0vxg-1; Thu, 23 Sep 2021 11:37:52 -0400 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 D818F56AA8; Thu, 23 Sep 2021 15:37:31 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 90B36751EF; Thu, 23 Sep 2021 15:37:31 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 546184EA30; Thu, 23 Sep 2021 15:37:31 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 18NFbSCS000492 for ; Thu, 23 Sep 2021 11:37:28 -0400 Received: by smtp.corp.redhat.com (Postfix) id 311AF1060072; Thu, 23 Sep 2021 15:37:28 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.16]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8137D106F974 for ; Thu, 23 Sep 2021 15:37:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1632411475; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=uneg8Fu3lMUEdV4y8K+r0cq1JrbyWqaEMPzitVo/zIs=; b=RczeXi6e2foDCVGVCyz3PS1RalK53OKHxApgyp/uVmDJFnW1zy18rOUZtcpK+KPz6Eog7q G3JZvt9JR0szi6/QKDgfdla53kD7yTgCS8ocdUUs/ulTeblBB9IiDBGcQXUrqb7vwSzVzs Z41RkDg3pfZR7JnsiIpHbSyOjYQh9P4= X-MC-Unique: J-6PYPTKPVO5jzgzFx0vxg-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 04/14] qemuBuildTLSx509BackendProps: Remove unused 'qemuCaps' Date: Thu, 23 Sep 2021 17:37:10 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1632411478998100002 Content-Type: text/plain; charset="utf-8" Signed-off-by: Peter Krempa --- src/qemu/qemu_backup.c | 5 ++-- src/qemu/qemu_command.c | 39 +++++++++++--------------------- src/qemu/qemu_command.h | 10 +++----- src/qemu/qemu_driver.c | 15 ++++-------- src/qemu/qemu_hotplug.c | 13 ++++------- src/qemu/qemu_hotplug.h | 3 +-- src/qemu/qemu_migration_params.c | 2 +- src/qemu/qemu_snapshot.c | 3 +-- 8 files changed, 31 insertions(+), 59 deletions(-) diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index d7583e7399..abbfcf3682 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -323,8 +323,7 @@ qemuBackupDiskPrepareDataOne(virDomainObj *vm, /* use original disk as backing to prevent opening the backing chain */ if (!(dd->crdata =3D qemuBuildStorageSourceChainAttachPrepareBlockdevT= op(dd->store, - = dd->backingStore, - = priv->qemuCaps))) + = dd->backingStore))) return -1; return 0; @@ -728,7 +727,7 @@ qemuBackupBeginPrepareTLS(virDomainObj *vm, if (qemuBuildTLSx509BackendProps(cfg->backupTLSx509certdir, true, cfg->backupTLSx509verify, tlsObjAlias, - tlsKeySecretAlias, priv->qemuCaps, + tlsKeySecretAlias, tlsProps) < 0) return -1; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 48f6ccbf50..a8d2b1ce74 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -754,7 +754,6 @@ qemuBuildObjectSecretCommandLine(virCommand *cmd, * @verifypeer: boolean to enable peer verification (form of authorization) * @alias: alias for the TLS credentials object * @secalias: if one exists, the alias of the security object for password= id - * @qemuCaps: capabilities * @propsret: json properties to return * * Create a backend string for the tls-creds-x509 object. @@ -767,7 +766,6 @@ qemuBuildTLSx509BackendProps(const char *tlspath, bool verifypeer, const char *alias, const char *secalias, - virQEMUCaps *qemuCaps G_GNUC_UNUSED, virJSONValue **propsret) { if (qemuMonitorCreateObjectProps(propsret, "tls-creds-x509", alias, @@ -809,7 +807,7 @@ qemuBuildTLSx509CommandLine(virCommand *cmd, g_autoptr(virJSONValue) props =3D NULL; if (qemuBuildTLSx509BackendProps(tlspath, isListen, verifypeer, alias, - certEncSecretAlias, qemuCaps, &props)= < 0) + certEncSecretAlias, &props) < 0) return -1; if (qemuBuildObjectCommandlineFromJSON(&buf, props, qemuCaps) < 0) @@ -1936,8 +1934,7 @@ qemuBuildDiskSourceCommandLine(virCommand *cmd, if (virStorageSourceIsEmpty(disk->src)) return 0; - if (!(data =3D qemuBuildStorageSourceChainAttachPrepareBlockdev(di= sk->src, - qemu= Caps))) + if (!(data =3D qemuBuildStorageSourceChainAttachPrepareBlockdev(di= sk->src))) return -1; if (disk->copy_on_read =3D=3D VIR_TRISTATE_SWITCH_ON && @@ -5062,7 +5059,7 @@ qemuBuildHostdevSCSIAttachPrepare(virDomainHostdevDef= *hostdev, } if (src && - qemuBuildStorageSourceAttachPrepareCommon(src, ret, qemuCaps) < 0) + qemuBuildStorageSourceAttachPrepareCommon(src, ret) < 0) return NULL; return g_steal_pointer(&ret); @@ -9962,8 +9959,7 @@ qemuBuildPflashBlockdevOne(virCommand *cmd, g_autoptr(qemuBlockStorageSourceChainData) data =3D NULL; size_t i; - if (!(data =3D qemuBuildStorageSourceChainAttachPrepareBlockdev(src, - qemuCaps= ))) + if (!(data =3D qemuBuildStorageSourceChainAttachPrepareBlockdev(src))) return -1; for (i =3D data->nsrcdata; i > 0; i--) { @@ -10840,15 +10836,13 @@ qemuBuildStorageSourceAttachPrepareChardev(virDom= ainDiskDef *disk) * qemuBuildStorageSourceAttachPrepareCommon: * @src: storage source * @data: already initialized data for disk source addition - * @qemuCaps: qemu capabilities object * * Prepare data for configuration associated with the disk source such as * secrets/TLS/pr objects etc ... */ int qemuBuildStorageSourceAttachPrepareCommon(virStorageSource *src, - qemuBlockStorageSourceAttachData= *data, - virQEMUCaps *qemuCaps) + qemuBlockStorageSourceAttachData= *data) { qemuDomainStorageSourcePrivate *srcpriv =3D QEMU_DOMAIN_STORAGE_SOURCE= _PRIVATE(src); const char *tlsKeySecretAlias =3D NULL; @@ -10881,7 +10875,7 @@ qemuBuildStorageSourceAttachPrepareCommon(virStorag= eSource *src, if (src->haveTLS =3D=3D VIR_TRISTATE_BOOL_YES && qemuBuildTLSx509BackendProps(src->tlsCertdir, false, true, src->tl= sAlias, - tlsKeySecretAlias, qemuCaps, &data->t= lsProps) < 0) + tlsKeySecretAlias, &data->tlsProps) <= 0) return -1; return 0; @@ -10907,7 +10901,7 @@ qemuBuildStorageSourceChainAttachPrepareDrive(virDo= mainDiskDef *disk, if (!(elem =3D qemuBuildStorageSourceAttachPrepareDrive(disk, qemuCaps= ))) return NULL; - if (qemuBuildStorageSourceAttachPrepareCommon(disk->src, elem, qemuCap= s) < 0) + if (qemuBuildStorageSourceAttachPrepareCommon(disk->src, elem) < 0) return NULL; VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, elem); @@ -10943,15 +10937,14 @@ qemuBuildStorageSourceChainAttachPrepareChardev(v= irDomainDiskDef *disk) static int qemuBuildStorageSourceChainAttachPrepareBlockdevOne(qemuBlockStorageSource= ChainData *data, virStorageSource *src, - virStorageSource *back= ingStore, - virQEMUCaps *qemuCaps) + virStorageSource *back= ingStore) { g_autoptr(qemuBlockStorageSourceAttachData) elem =3D NULL; if (!(elem =3D qemuBlockStorageSourceAttachPrepareBlockdev(src, backin= gStore, true))) return -1; - if (qemuBuildStorageSourceAttachPrepareCommon(src, elem, qemuCaps) < 0) + if (qemuBuildStorageSourceAttachPrepareCommon(src, elem) < 0) return -1; VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, elem); @@ -10963,14 +10956,12 @@ qemuBuildStorageSourceChainAttachPrepareBlockdevO= ne(qemuBlockStorageSourceChainD /** * qemuBuildStorageSourceChainAttachPrepareBlockdev: * @top: storage source chain - * @qemuCaps: qemu capabilities object * * Prepares qemuBlockStorageSourceChainData *for attaching the chain of im= ages * starting at @top via -blockdev. */ qemuBlockStorageSourceChainData * -qemuBuildStorageSourceChainAttachPrepareBlockdev(virStorageSource *top, - virQEMUCaps *qemuCaps) +qemuBuildStorageSourceChainAttachPrepareBlockdev(virStorageSource *top) { g_autoptr(qemuBlockStorageSourceChainData) data =3D NULL; virStorageSource *n; @@ -10979,8 +10970,7 @@ qemuBuildStorageSourceChainAttachPrepareBlockdev(vi= rStorageSource *top, for (n =3D top; virStorageSourceIsBacking(n); n =3D n->backingStore) { if (qemuBuildStorageSourceChainAttachPrepareBlockdevOne(data, n, - n->backing= Store, - qemuCaps) = < 0) + n->backing= Store) < 0) return NULL; } @@ -10992,22 +10982,19 @@ qemuBuildStorageSourceChainAttachPrepareBlockdev(= virStorageSource *top, * qemuBuildStorageSourceChainAttachPrepareBlockdevTop: * @top: storage source chain * @backingStore: a storage source to use as backing of @top - * @qemuCaps: qemu capabilities object * * Prepares qemuBlockStorageSourceChainData *for attaching of @top image o= nly * via -blockdev. */ qemuBlockStorageSourceChainData * qemuBuildStorageSourceChainAttachPrepareBlockdevTop(virStorageSource *top, - virStorageSource *back= ingStore, - virQEMUCaps *qemuCaps) + virStorageSource *back= ingStore) { g_autoptr(qemuBlockStorageSourceChainData) data =3D NULL; data =3D g_new0(qemuBlockStorageSourceChainData, 1); - if (qemuBuildStorageSourceChainAttachPrepareBlockdevOne(data, top, bac= kingStore, - qemuCaps) < 0) + if (qemuBuildStorageSourceChainAttachPrepareBlockdevOne(data, top, bac= kingStore) < 0) return NULL; return g_steal_pointer(&data); diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index 188e63ea1f..a0e6af9d3f 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -77,7 +77,6 @@ int qemuBuildTLSx509BackendProps(const char *tlspath, bool verifypeer, const char *alias, const char *secalias, - virQEMUCaps *qemuCaps, virJSONValue **propsret); /* Open a UNIX socket for chardev FD passing */ @@ -121,8 +120,7 @@ qemuBuildStorageSourceAttachPrepareChardev(virDomainDis= kDef *disk); int qemuBuildStorageSourceAttachPrepareCommon(virStorageSource *src, - qemuBlockStorageSourceAttachData= *data, - virQEMUCaps *qemuCaps); + qemuBlockStorageSourceAttachData= *data); qemuBlockStorageSourceChainData * @@ -135,13 +133,11 @@ qemuBuildStorageSourceChainAttachPrepareChardev(virDo= mainDiskDef *disk); qemuBlockStorageSourceChainData * -qemuBuildStorageSourceChainAttachPrepareBlockdev(virStorageSource *top, - virQEMUCaps *qemuCaps); +qemuBuildStorageSourceChainAttachPrepareBlockdev(virStorageSource *top); qemuBlockStorageSourceChainData * qemuBuildStorageSourceChainAttachPrepareBlockdevTop(virStorageSource *top, - virStorageSource *back= ingStore, - virQEMUCaps *qemuCaps); + virStorageSource *back= ingStore); char *qemuBuildDiskDeviceStr(const virDomainDef *def, diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 28aa7351ee..4bd79b9537 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14076,8 +14076,7 @@ qemuDomainBlockPivot(virQEMUDriver *driver, virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV_SNAPSHOT= _ALLOW_WRITE_ONLY) && virStorageSourceHasBacking(disk->mirror)) { - if (!(chainattachdata =3D qemuBuildStorageSourceChainAttac= hPrepareBlockdev(disk->mirror->backingStore, - = priv->qemuCaps))) + if (!(chainattachdata =3D qemuBuildStorageSourceChainAttac= hPrepareBlockdev(disk->mirror->backingStore))) return -1; reopenactions =3D virJSONValueNewArray(); @@ -14898,12 +14897,10 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, g_autoptr(virStorageSource) terminator =3D virStorageSourc= eNew(); if (!(data =3D qemuBuildStorageSourceChainAttachPrepareBlo= ckdevTop(mirror, - = terminator, - = priv->qemuCaps))) + = terminator))) goto endjob; } else { - if (!(data =3D qemuBuildStorageSourceChainAttachPrepareBlo= ckdev(mirror, - = priv->qemuCaps))) + if (!(data =3D qemuBuildStorageSourceChainAttachPrepareBlo= ckdev(mirror))) goto endjob; } } else { @@ -14917,8 +14914,7 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, if (mirror_shallow) { /* if external backing store is populated we'll need to op= en it */ if (virStorageSourceHasBacking(mirror)) { - if (!(data =3D qemuBuildStorageSourceChainAttachPrepar= eBlockdev(mirror->backingStore, - = priv->qemuCaps))) + if (!(data =3D qemuBuildStorageSourceChainAttachPrepar= eBlockdev(mirror->backingStore))) goto endjob; mirrorBacking =3D mirror->backingStore; @@ -14932,8 +14928,7 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, } if (!(crdata =3D qemuBuildStorageSourceChainAttachPrepareBlock= devTop(mirror, - = mirrorBacking, - = priv->qemuCaps))) + = mirrorBacking))) goto endjob; } diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 9b0dcf2629..33d2dcc794 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -526,8 +526,7 @@ qemuDomainChangeMediaBlockdev(virQEMUDriver *driver, return -1; if (!virStorageSourceIsEmpty(newsrc)) { - if (!(newbackend =3D qemuBuildStorageSourceChainAttachPrepareBlock= dev(newsrc, - = priv->qemuCaps))) + if (!(newbackend =3D qemuBuildStorageSourceChainAttachPrepareBlock= dev(newsrc))) return -1; if (qemuDomainDiskGetBackendAlias(disk, priv->qemuCaps, &nodename)= < 0) @@ -734,8 +733,7 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver, if (!(data =3D qemuBuildStorageSourceChainAttachPrepareChardev(dis= k))) return -1; } else if (blockdev) { - if (!(data =3D qemuBuildStorageSourceChainAttachPrepareBlockdev(di= sk->src, - priv= ->qemuCaps))) + if (!(data =3D qemuBuildStorageSourceChainAttachPrepareBlockdev(di= sk->src))) return -1; if (disk->copy_on_read =3D=3D VIR_TRISTATE_SWITCH_ON) { @@ -1831,8 +1829,7 @@ qemuDomainAddTLSObjects(virQEMUDriver *driver, int -qemuDomainGetTLSObjects(virQEMUCaps *qemuCaps, - qemuDomainSecretInfo *secinfo, +qemuDomainGetTLSObjects(qemuDomainSecretInfo *secinfo, const char *tlsCertdir, bool tlsListen, bool tlsVerify, @@ -1850,7 +1847,7 @@ qemuDomainGetTLSObjects(virQEMUCaps *qemuCaps, } if (qemuBuildTLSx509BackendProps(tlsCertdir, tlsListen, tlsVerify, - alias, secAlias, qemuCaps, tlsProps) = < 0) + alias, secAlias, tlsProps) < 0) return -1; return 0; @@ -1895,7 +1892,7 @@ qemuDomainAddChardevTLSObjects(virQEMUDriver *driver, if (!(*tlsAlias =3D qemuAliasTLSObjFromSrcAlias(charAlias))) goto cleanup; - if (qemuDomainGetTLSObjects(priv->qemuCaps, secinfo, + if (qemuDomainGetTLSObjects(secinfo, cfg->chardevTLSx509certdir, dev->data.tcp.listen, cfg->chardevTLSx509verify, diff --git a/src/qemu/qemu_hotplug.h b/src/qemu/qemu_hotplug.h index b5f7afb076..83bcaf980f 100644 --- a/src/qemu/qemu_hotplug.h +++ b/src/qemu/qemu_hotplug.h @@ -43,8 +43,7 @@ int qemuDomainAddTLSObjects(virQEMUDriver *driver, virJSONValue **secProps, virJSONValue **tlsProps); -int qemuDomainGetTLSObjects(virQEMUCaps *qemuCaps, - qemuDomainSecretInfo *secinfo, +int qemuDomainGetTLSObjects(qemuDomainSecretInfo *secinfo, const char *tlsCertdir, bool tlsListen, bool tlsVerify, diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_par= ams.c index 88dba3b999..b6c582aaca 100644 --- a/src/qemu/qemu_migration_params.c +++ b/src/qemu/qemu_migration_params.c @@ -961,7 +961,7 @@ qemuMigrationParamsEnableTLS(virQEMUDriver *driver, if (!(*tlsAlias =3D qemuAliasTLSObjFromSrcAlias(QEMU_MIGRATION_TLS_ALI= AS_BASE))) return -1; - if (qemuDomainGetTLSObjects(priv->qemuCaps, priv->migSecinfo, + if (qemuDomainGetTLSObjects(priv->migSecinfo, cfg->migrateTLSx509certdir, tlsListen, cfg->migrateTLSx509verify, *tlsAlias, &tlsProps, &secProps) < 0) diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c index fa1f9ce973..d105eead27 100644 --- a/src/qemu/qemu_snapshot.c +++ b/src/qemu/qemu_snapshot.c @@ -1023,8 +1023,7 @@ qemuSnapshotDiskPrepareOneBlockdev(virQEMUDriver *dri= ver, return -1; if (!(dd->crdata =3D qemuBuildStorageSourceChainAttachPrepareBlockdevT= op(dd->src, - = terminator, - = priv->qemuCaps))) + = terminator))) return -1; if (reuse) { --=20 2.31.1