From nobody Sun Nov 9 23:40:59 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1494404933435291.1504552685017; Wed, 10 May 2017 01:28:53 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 2E002804E0; Wed, 10 May 2017 08:28:51 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DF20017D31; Wed, 10 May 2017 08:28:50 +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 BE6F81800C94; Wed, 10 May 2017 08:28:49 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v4A8QO2v028658 for ; Wed, 10 May 2017 04:26:24 -0400 Received: by smtp.corp.redhat.com (Postfix) id 101D488539; Wed, 10 May 2017 08:26:24 +0000 (UTC) Received: from t460.redhat.com (ovpn-116-75.ams2.redhat.com [10.36.116.75]) by smtp.corp.redhat.com (Postfix) with ESMTP id D32C27DFF5; Wed, 10 May 2017 08:26:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 2E002804E0 Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 2E002804E0 From: "Daniel P. Berrange" To: libvir-list@redhat.com Date: Wed, 10 May 2017 09:26:18 +0100 Message-Id: <20170510082619.15984-1-berrange@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH] Don't inline virStringTrimOptionalNewline 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 10 May 2017 08:28:52 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" GCC complains that inlining virStringTrimOptionalNewline is not likely on some platforms: cc1: warnings being treated as errors ../../src/util/virfile.c: In function 'virFileReadValueBitmap': ../../src/util/virstring.h:292: error: inlining failed in call to 'virStr= ingTrimOptionalNewline': call is unlikely and code size would grow [-Winlin= e] ../../src/util/virfile.c:3987: error: called from here [-Winline] Inlining this function is not going to be a measurable performance benefit either, since the time required to execute it is going to be dominated by running of strlen() over the string, not by the function call overhead. Signed-off-by: Daniel P. Berrange --- Pushed as a broken build fix src/libvirt_private.syms | 1 + src/util/virstring.c | 14 ++++++++++++++ src/util/virstring.h | 8 +------- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 4cca0ca..afb9100 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2630,6 +2630,7 @@ virStringSplitCount; virStringStripControlChars; virStringStripIPv6Brackets; virStringToUpper; +virStringTrimOptionalNewline; virStrncpy; virStrndup; virStrToDouble; diff --git a/src/util/virstring.c b/src/util/virstring.c index 69abc26..335e773 100644 --- a/src/util/virstring.c +++ b/src/util/virstring.c @@ -1180,3 +1180,17 @@ virStringEncodeBase64(const uint8_t *buf, size_t buf= len) =20 return ret; } + +/** + * virStringTrimOptionalNewline: + * @str: the string to modify in-place + * + * Modify @str to remove a single '\n' character + * from its end, if one exists. + */ +void virStringTrimOptionalNewline(char *str) +{ + char *tmp =3D str + strlen(str) - 1; + if (*tmp =3D=3D '\n') + *tmp =3D '\0'; +} diff --git a/src/util/virstring.h b/src/util/virstring.h index 603650a..c545ca3 100644 --- a/src/util/virstring.h +++ b/src/util/virstring.h @@ -288,12 +288,6 @@ bool virStringBufferIsPrintable(const uint8_t *buf, si= ze_t buflen); =20 char *virStringEncodeBase64(const uint8_t *buf, size_t buflen); =20 -static inline void -virStringTrimOptionalNewline(char *str) -{ - char *tmp =3D str + strlen(str) - 1; - if (*tmp =3D=3D '\n') - *tmp =3D '\0'; -} +void virStringTrimOptionalNewline(char *str); =20 #endif /* __VIR_STRING_H__ */ --=20 2.9.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list