From nobody Tue Dec 16 06:52:01 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 15301938257311003.9521137074418; Thu, 28 Jun 2018 06:50:25 -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 1D2D03078AAC; Thu, 28 Jun 2018 13:50:24 +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 C010B11A2AD; Thu, 28 Jun 2018 13:50:23 +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 321B63F7FA; Thu, 28 Jun 2018 13:50:23 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w5SDNwQM021019 for ; Thu, 28 Jun 2018 09:23:58 -0400 Received: by smtp.corp.redhat.com (Postfix) id D6E9B300193B; Thu, 28 Jun 2018 13:23:58 +0000 (UTC) Received: from mx1.redhat.com (ext-mx18.extmail.prod.ext.phx2.redhat.com [10.5.110.47]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CFD973083323 for ; Thu, 28 Jun 2018 13:23:57 +0000 (UTC) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0081.outbound.protection.outlook.com [104.47.32.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7B41130820F0 for ; Thu, 28 Jun 2018 13:23:55 +0000 (UTC) Received: from hyd1jrana-dt.caveonetworks.com (115.113.156.2) by CY4PR0701MB3747.namprd07.prod.outlook.com (2603:10b6:910:94::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.23; Thu, 28 Jun 2018 13:23:53 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QL/SZ7kRUSnOqvc3dG+3OnHZ3NJKa8v4WtlIF4UT8Vo=; b=FqVSgjm4cbUbSBS3tBjkuXY6kAVIArfPChSXbqvqG7v6NDB/PlgRtEY+z7IhsKqne9AdBjysAAjAo+19Giv+vNMms+HHv/n9QUAs+pYp8gQuwGI9NKltiqwx27sRp1To+YIRaPcz/rc3IWsa7n72+EyWmTS4qbZKM7zLA2nEIcU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=JaiSingh.Rana@cavium.com; From: Jai Singh Rana To: libvir-list@redhat.com Date: Thu, 28 Jun 2018 18:52:32 +0530 Message-Id: <20180628132237.11811-2-JaiSingh.Rana@cavium.com> In-Reply-To: <20180628132237.11811-1-JaiSingh.Rana@cavium.com> References: <20180628132237.11811-1-JaiSingh.Rana@cavium.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: MA1PR0101CA0066.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:20::28) To CY4PR0701MB3747.namprd07.prod.outlook.com (2603:10b6:910:94::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a15b8aef-913e-4dc7-4d9a-08d5dcfa6582 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:CY4PR0701MB3747; X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3747; 3:2YoKT2EtWRlTOqUSzvpjmxZUxdX+6Nu6uxAjcQVBccvGKGU6KbL7T9RObU4eYL/LSrmQyVcvQgBKK6m3fwS58aIb4REpvitmEzsnkdFHCTaQSUUdIEXStKggNhdAwE28fCIojKupzVb54rmr/QjYlUUZhstbvJGSWCGDiV7Ue258LT0JJQmSvzVvEtxQaWx918ydyWu33Hm3WpSbaUJ7/qlkgebXW2byLDkpPeEoI9KgNMM1N4jXxWRPS34lAxz3; 25:2lT2gGqhLr6hWGtK6YbgX/PiRb82c7vNIvUoZDr7PYXqHYLV8HXqhoGim8SU9qenF5IfLABOfocv9lY53woBVK58Z2r7vlqdPxJudFtksxDwKA9DejcvBkkMPUTqXO+lo0/YZhkdq9B32xG+RYSe3ons90knlD4VacXVttt4gyBjN5ZoUqAhcB+aE18c684ypkkmSkbmbToXuhstsZMd9OhuBZht3Wxsq2y0ZD372OnMIXWKGHwDzXwPCbdDDMfwEFZy5qnzbIyxjp2rIXjOFhoLhyvM7ARsk50XeLrRKXv/UcjjTYcblumYAyWOKyV+MVRI6Kb6FERnNLWucoFR5Q==; 31:6/z12olF4A/uLajWhFRUKvJPgFBAH82iBS//dwRI48ew9u1+kZLGG04LaWBJxGbQurDazGvEcWuVqQupsVWUtruQeEkaJaaIJbtQhLYSr31TCFOJ85w+I8KfDDeyoPnuonLqw/PYqZmGqePr7uOYqjmCeIk0cn/ogeuGF/fCNkSzlKZ9TX2SHoEr3ktelsVZkj56fzQEcc6p74dHMfqH6onFWssEFgOn6mxN3AeRfXY= X-MS-TrafficTypeDiagnostic: CY4PR0701MB3747: X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3747; 20:S2YcHZBDfPo8UGF/sMSnE7IpihgfK3e2GvFH+tI454GdordcedjvHLCMUycO9GRPS++XSRNtbGnoC7qSa72U6XrFytSA2gyweOSUpdcjJQLtwU7GSBYd1WHltqq8wxu4xzJeeXwL1I1v5c8FdklCzhsAy/DlIHGBxOCqa9zkmQZy7XYbak2kSA5N9OtnQ2cEXGrUbFWbYA/QT5fG5TUuMKF3G4XSIm+yMsivxvue/vs5lhAuixu6NzrzRpshlYxqi/+ZyUUJyPR1PQoDrmsNqZSnidv5Fv2WXz2HpdGUqhbS5SbVhq8ZjdYAGGG5Z/x8dSIAlPKIlhw8LKI8UybVCGECvGbeC5ZFa79OHjugJ84MMP8hxFJOOXfCiviO4SQi8udtZI8yyoT3WavnxCJj7mPp6iJE46vp96DBHbkWHdegSiJgm+ghiEsF7AdmrxnpKxY9neYkxbzdDAeRr4/4vaIT2RrJw3jrZmfB8WVZz5B7JPj/1lY47rK2NJ8tfyZ4; 4:+xtkCja6fygWSXLZNgc5Ydmvyyc8OkHQ8JZOg3KGooc+BLgwwfywIdmicai2lMJc1DHrhJdGGhFFBIsDZwAA+XhA26CoKoZrphAhdWjCTIe1cJFPKUYRBndoBJti1N9UbfdnBDXnVL1SBm9Xol9PrXbPOdURn9yWsmMwHQK4pZeQMzYUvTMA0qrZlhTcxCylZDNvlU0uhA7ZVfSqVLpzm63XYYxF2J/c7UC7Gjlt1Hz6HalyJ/OIs3St7b8aGHT8YAAx901U1S7gyCQ6GFwuAQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:CY4PR0701MB3747; BCL:0; PCL:0; RULEID:; SRVR:CY4PR0701MB3747; X-Forefront-PRVS: 0717E25089 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(376002)(136003)(366004)(396003)(39860400002)(189003)(199004)(26005)(16526019)(6506007)(446003)(386003)(5660300001)(39060400002)(316002)(486006)(50226002)(3846002)(186003)(2351001)(11346002)(76176011)(51416003)(52116002)(6116002)(6512007)(25786009)(6666003)(6916009)(81166006)(2906002)(81156014)(16586007)(8676002)(86362001)(305945005)(55236004)(7736002)(68736007)(476003)(956004)(2616005)(4326008)(8936002)(53936002)(105586002)(106356001)(107886003)(6486002)(36756003)(2361001)(97736004)(72206003)(478600001)(66066001)(48376002)(69596002)(1076002)(4743002)(53416004)(50466002)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR0701MB3747; H:hyd1jrana-dt.caveonetworks.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; 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; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR0701MB3747; 23:p8bFrjl98qNkZ3m6EzCbM8pgTEDfb6gxHDh630P?= =?us-ascii?Q?rOichjpXQUdSG4Q2beM8nw+Xq1eg+kxhQGooYe2Wc9mcIuTYIz5v7RWzFWP7?= =?us-ascii?Q?1TLDHAZZiX9tudlRrqDm9HdPI4bUktBTs2ABl8oX1YsXo9Qmv/5SA0x5Tpe5?= =?us-ascii?Q?97tFYzizu6Q53szEeVrE+iw7qrs+I+MFKCLe55Q6VkbdZyWF3TcQOZCaPVfG?= =?us-ascii?Q?JOS1PmMOEIxuNfON6AB9L7xaUY37RZQgcpxqTBrswcKZ9ZhGUyvsPk/XXJjX?= =?us-ascii?Q?KdmN9fc0L7FYjSAYgJS/lfYCTfTCc1lGckezQiFE4Sjw9CBgmYV/JcwKA7Zt?= =?us-ascii?Q?3F1OMrNiuuQx6NJ/fY/vzT6WR/J0SWrm7BoUwSsBWken6RnlI7L0djkcHzIi?= =?us-ascii?Q?U6nO1an9ObhNU7Fd2st+2oirguG4auy6GBCe47EBvCF/SnwWjOCcjCONxIK3?= =?us-ascii?Q?UR144u9vU6D2aBjx3YYjzCF0qB9b0e+KarFkF9mHu1yYCehvaY06KaEsuztj?= =?us-ascii?Q?ySEYkS26L9JUvJsFjy4hwHnym8VSY4aogVnutqPET3cgmEdgeY+EzbAXae9I?= =?us-ascii?Q?AIGm56zTN3fbOsVbihmlbJEjMIg1cuflZyC7nL062JvCeASCP1Viya2mqcq6?= =?us-ascii?Q?Ao4tUXcCZovcDrf2B9EW69aDQMpO0ZYXnSqrnoyLxziC0E6aSe2xm4xwYsKD?= =?us-ascii?Q?aBVS27a673lMnUu9489R8wIdwRj64eJ9NazAUscYC8To/txih9unPewjIDQK?= =?us-ascii?Q?5XiXL8QKvuzWXIs+5kdcOGip6wpBTNsvwuk0fRBL6L7sPHGah8JkMHc2d/9a?= =?us-ascii?Q?eZWPEvxveGnTFcyi/QNYpCOK1oxCWE1rW28/XqQvAwzimkFnkUlAYX7XS02j?= =?us-ascii?Q?5lWFd+yAaPibfs+x6tNLv1EPGY6Qagz+0OtMxAh+lciE3izteojfQot++Gv2?= =?us-ascii?Q?x6I1/UQdjwuS2ImT+bg07s1sxhcY4lE2bxbs7yMW3OboqjDn1Z/+cjSE1gop?= =?us-ascii?Q?coIkyBv+5nPVcCYzP3hl9PvJTuYNDy9FHkAo9aRpeaP3ldplPdogUPllNgBt?= =?us-ascii?Q?RPttma0NetMTk1naFx88wEeKVSWsy2rd0FyJZxbTNICci2NgooYw1pcaT/aV?= =?us-ascii?Q?nvkySOPS0ncx+InKQBgYlLTVxWf6lXyXkwSujNzbaTurJwqrrBWs+/1AOY0m?= =?us-ascii?Q?6LrIplkhf75ac6M8zvuPA5mzcGoZcxpWqBJuE/JiXs0mRRHbDHE8SBXFzLoP?= =?us-ascii?Q?cXR+gteMflvwY5VfaXA1bio1lcJSd63L8w0JPzquL0CYyfOzI3TMw73rR8Xc?= =?us-ascii?Q?x9f9if/jfjWDF4r2tS0X7RdYhTr5L1RxAq/IhUBzeQ0oZa53+OrAn/F0xpIr?= =?us-ascii?Q?3fTzDRDbUOvXCVP5jFGWxLe0eQPQ=3D?= X-Microsoft-Antispam-Message-Info: GckMqhIlXncUPWjAXFtOZBt+2QB+yw1EqDsx6ax6iVGo8bszU75DwHatoQw5jDlCO5VL9i8KAJF+yVchXdJ0hl5BX4gjR2ZVoaO0GeVN0Gsg6RLucSUR5YARFv76W1wKKsyDI9yVSP76rKmReeg2gug5J+KlN+1MqaCXIRh4havJmwBXZ1x8dgzT8qBlr6UhCZKFFMerA3HFkNqVC+DZTPxup/xCezBecmoRAia8CJb/RKA79J2ojCyV7nMiQOhyCxmXtCye+T/gFZmOAJaSZfEkX/S9sxxxav0yuoOxhjt10rAf7CF8+1BMXEiHKGmfrDtG90BkdCSRsnuZGUEkDKPIUvhcLJ00BxBnl4e0U/M= X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3747; 6:HxMvjdUP8Dy+2LvnqyVYvOMYXKXBcEORujG3s44QvXXy3S28SKNSRpqrChpBGQ5Atw5VBzcu5cKL4mPkPbAZaRSAzGb5nBXXt8bu1PFEHJGnk8DlKoRc8sdb/2qcP04SOjkEOXNTGp4mBaTkgpHRkm1dUvtrWwQRed0jMZXQR/XnJdS3fcvp0LkGTDP+LP/9PlpzVO0UFh21e0L8y7pjPVUQgmY4SYNpes+EAkEEq0tmwhx0xpXUTyiLk9LSNx7x9wpLf6HD7Y0BYmDBPAJI0aKHO9hTCSdq9Xtj1ObVqLAgvGqW+E9fBFFUEs00fWlHk5/GZnr/RafMDM8cCR5ABzwgO1H8DzAp54WUHf/sRzszFS5kJSzOO9jbJaSt4BOxXP+cgj+xAZx/3IP4s2HBQvd9OnAH5UmIVxdsJmAsp/ku6pC7kmzQKwrBtAjjes7QTxfrMc69rVhXl03fZ+Zwfw==; 5:GE+KGTTafiDNzF9JB+AQBe/C2zsg6PoVjKcvZlx0SKIc4CK9rYm7GfFXfyUUb4TjX+VXOA4rOyf9klumbethQ0AO9Gshf+UXvvDD3Fxl1lQSZ2ucVDGP5kmGRXI6sbsxWPkI2EmCxP23/Yr+x7fxIc7fQ++r36LS11PQFLv6iiM=; 24:koGcl3kxsyQJSmx1280/B+CGm71a90HF8QWMIe3z1w4QvjdLTB122hUKTHwsMKTUvARDgUYEt0tcXG/6JA/k3EPwsTa+tMHOJFAHpcEDBqo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3747; 7:kv+sHweE5NqPt3gmLj67NIJ8C5zXIE6G88kE8JSsNXkql43ZEJkkyP0ga/wA1fpJQvxpqXf5cyyab4upXI1kSkyGb9PsiDAtF2vm5FtoDiU4MYVEoLg/fymTM/Yrih6oyxwwrQ0YlnPpCqGUgowL57mjWd1C2m7wti0MDVUPFfkz7l4yWbh/PA/dbdhCajKb4U6MapdaDmy9eT/tFfz24R2GF32PbGEf8gh5kbc6rHhwet4UQyfChMZDSvpzCJVv X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2018 13:23:53.2826 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a15b8aef-913e-4dc7-4d9a-08d5dcfa6582 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR0701MB3747 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Thu, 28 Jun 2018 13:23:55 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Thu, 28 Jun 2018 13:23:55 +0000 (UTC) for IP:'104.47.32.81' DOMAIN:'mail-sn1nam01on0081.outbound.protection.outlook.com' HELO:'NAM01-SN1-obe.outbound.protection.outlook.com' FROM:'JaiSingh.Rana@cavium.com' RCPT:'' X-RedHat-Spam-Score: -0.022 (DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, T_DKIMWL_WL_MED) 104.47.32.81 mail-sn1nam01on0081.outbound.protection.outlook.com 104.47.32.81 mail-sn1nam01on0081.outbound.protection.outlook.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.47 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-loop: libvir-list@redhat.com X-Mailman-Approved-At: Thu, 28 Jun 2018 09:50:20 -0400 Cc: jai.rana@gmail.com, Jai Singh Rana Subject: [libvirt] [PATCH v4 1/6] util: Add helper function to clean extra spaces X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Thu, 28 Jun 2018 13:50:25 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" This patch adds string manupulation helper function which takes string as input and returns string with all but one space removed between letters, numbers or words. Signed-off-by: Jai Singh Rana --- src/libvirt_private.syms | 1 + src/util/virstring.c | 36 ++++++++++++++++++++++++++++++++++++ src/util/virstring.h | 3 +++ 3 files changed, 40 insertions(+) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 5499a368c0..272e7426dd 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2891,6 +2891,7 @@ virSkipSpacesBackwards; virStrcpy; virStrdup; virStringBufferIsPrintable; +virStringCleanExtraSpaces; virStringEncodeBase64; virStringFilterChars; virStringHasChars; diff --git a/src/util/virstring.c b/src/util/virstring.c index 15f367af7c..1f45b2b553 100644 --- a/src/util/virstring.c +++ b/src/util/virstring.c @@ -139,6 +139,42 @@ virStringSplit(const char *string, =20 =20 /** + * virCleanExtraSpacesInString: + * @src: original null terminated string + * + * Returns string with all spaces but one removed between words in @src + * string. Caller is responsible for freeing the returned string. + * Returns NULL if new string could not be allocated. + * + */ +char * +virStringCleanExtraSpaces(char *src) +{ + char *dst; + size_t dstlen; + int src_at =3D 0; + int dst_at; + + dstlen =3D strlen(src); + if (VIR_ALLOC_N(dst, dstlen) < 0) + return NULL; + + while (src[src_at] =3D=3D ' ') + src_at++; + + for (dst_at =3D 0; src[src_at] !=3D '\0'; src_at++) { + if (src[src_at + 1] =3D=3D ' ' && src[src_at] =3D=3D ' ') + continue; + dst[dst_at] =3D src[src_at]; + dst_at++; + } + dst[dst_at] =3D '\0'; + + return dst; +} + + +/** * virStringListJoin: * @strings: a NULL-terminated array of strings to join * @delim: a string to insert between each of the strings diff --git a/src/util/virstring.h b/src/util/virstring.h index 607ae66e99..0778bc45c8 100644 --- a/src/util/virstring.h +++ b/src/util/virstring.h @@ -37,6 +37,9 @@ char **virStringSplit(const char *string, size_t max_tokens) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); =20 +char *virStringCleanExtraSpaces(char *src) + ATTRIBUTE_NONNULL(1); + char *virStringListJoin(const char **strings, const char *delim) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); --=20 2.13.7 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list