From patchwork Tue Jun 6 10:30:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiang W X-Patchwork-Id: 1791076 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=f37r6DaF; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=126.com header.i=@126.com header.a=rsa-sha256 header.s=s110527 header.b=nxdAVONe; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Qb6Gl4mB0z20WK for ; Tue, 6 Jun 2023 20:31:59 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=OEOGOt2oxmlVP+GhqGwiGOWdr9da6YPhjv/MHZJoH8s=; b=f37r6DaFrIhiqK SrtTFDX/8O0EF/ybInyBFKEOjIZZmh4j3OcaSwXIALKCZJAe+Oc2sI5Pdc64gXD4q4IFch2K3o5t4 HTaaH/Z0QdotYZcxMlgFABDOHmy8ehKgeiN/wMFlE2lbmXteU38ltCCrCaXcIz88EYgaqT5mvYxhI oidtctTNvNQfbqX0Mxwt4kTmSIlV1PP85avf6nLpPuh+kD1a/QePu724lbBgkc5EhBfMMWoY3FxQk Rc5LvtCil/yzFVQdfQ8Bk6yeFi2BJlo+mSdEMPVmkzVkMWpkP4s8HAUKJxt5hXM52h5IvmUTnoW4N a5jeAV3FaS+vjZATL/Mw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q6Tyc-001Byj-2L; Tue, 06 Jun 2023 10:31:46 +0000 Received: from m126.mail.126.com ([220.181.12.37]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q6TyZ-001BrS-2K for opensbi@lists.infradead.org; Tue, 06 Jun 2023 10:31:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=YFkiQ +f3YjD1E48rlXlxkWlV4GEGI0MZJZVmWDK3d/0=; b=nxdAVONeA2XqUvMhwP54B sVJl1H3FXG2lIQLUJF+qikvc9yfzlcUQLDxHL5Qosb08qAuLu1b+3EWH0yo+LHnv ubEXmkLwkkUbrUl3noFF04h6g2CL08vxQqw4KiamdMUHjvPCMn1edICy9cWs6hHB AiKJyiV9+Ob1ta1C/P0U9E= Received: from x390.lan (unknown [58.247.180.116]) by zwqz-smtp-mta-g5-0 (Coremail) with SMTP id _____wD3WsTMCn9kLy0hAw--.48420S10; Tue, 06 Jun 2023 18:30:40 +0800 (CST) From: Xiang W To: opensbi@lists.infradead.org Cc: Xiang W , anup@brainfault.org, jrtc27@jrtc27.com Subject: [PATCH v2 08/12] lib: sbi: Fix printi Date: Tue, 6 Jun 2023 18:30:30 +0800 Message-Id: <20230606103034.1218221-9-wxjstz@126.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230606103034.1218221-1-wxjstz@126.com> References: <20230606103034.1218221-1-wxjstz@126.com> MIME-Version: 1.0 X-CM-TRANSID: _____wD3WsTMCn9kLy0hAw--.48420S10 X-Coremail-Antispam: 1Uf129KBjvdXoWrKFy3AF15AFW5ury7tF4Dtwb_yoWkKFXEyF WkAay5Kws8JayUWa45trn0y3yUXr4jkwn7XayUtr43CryakrW7KryUtryDWa409FW2qFy0 vrW7Cr18Cr1YgjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7xRZZ2-tUUUUU== X-Originating-IP: [58.247.180.116] X-CM-SenderInfo: pz0m23b26rjloofrz/1tbi1xOGOl53bWDAnQAAsB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230606_033144_109913_B0AAF58A X-CRM114-Status: UNSURE ( 8.60 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Fix two bug: > printf("%#08x", 0x123); /* print 0000x123 */ > printf("%#x", 0); /* print 0x0 */ Signed-off-by: Xiang W --- lib/sbi/sbi_console.c | 36 +++++++++++++++++++++++ 1 file changed, 23 insertions(+), 13 deletions(-) Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [wxjstz[at]126.com] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "opensbi" Errors-To: opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Fix two bug: > printf("%#08x", 0x123); /* print 0000x123 */ > printf("%#x", 0); /* print 0x0 */ Signed-off-by: Xiang W --- lib/sbi/sbi_console.c | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/lib/sbi/sbi_console.c b/lib/sbi/sbi_console.c index 047c51e..6f714f0 100644 --- a/lib/sbi/sbi_console.c +++ b/lib/sbi/sbi_console.c @@ -227,23 +227,33 @@ static int printi(char **out, u32 *out_len, long long i, } } - if (flags & PAD_ALTERNATE) { - if ((b == 16) && (letbase == 'A')) { - *--s = 'X'; - } else if ((b == 16) && (letbase == 'a')) { - *--s = 'x'; - } - *--s = '0'; - } - - if (sign) { - if (width && (flags & PAD_ZERO)) { + if (flags & PAD_ZERO) { + if (sign) { printc(out, out_len, sign); ++pc; --width; - } else { - *--s = sign; } + if (i && (flags & PAD_ALTERNATE)) { + if (b == 16 || b == 8) { + printc(out, out_len, '0'); + ++pc; + --width; + } + if (b == 16) { + printc(out, out_len, 'x' - 'a' + letbase); + ++pc; + --width; + } + } + } else { + if (i && (flags & PAD_ALTERNATE)) { + if (b == 16) + *--s = 'x' - 'a' + letbase; + if (b == 16 || b == 8) + *--s = '0'; + } + if (sign) + *--s = sign; } return pc + prints(out, out_len, s, width, flags);