From patchwork Wed Feb 6 08:26:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Liebler X-Patchwork-Id: 31320 Received: (qmail 71165 invoked by alias); 6 Feb 2019 08:26:53 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 71069 invoked by uid 89); 6 Feb 2019 08:26:53 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-27.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 spammy=La, la, bye X-HELO: mx0a-001b2d01.pphosted.com To: GNU C Library From: Stefan Liebler Subject: [PATCH] Fix wide char format specifier in libio/tst-bz24153.c. Date: Wed, 6 Feb 2019 09:26:44 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 x-cbid: 19020608-0020-0000-0000-0000031362FF X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19020608-0021-0000-0000-000021646481 Message-Id: <254ace6c-4f93-7c75-cef5-f466e8360e06@linux.ibm.com> Hi, on big endian systems the test fails with: tst-bz24153.c:88: numeric comparison failure left: 1660944385 (0x63000001); from: ch right: 99 (0x63); from: L'c' tst-bz24153.c:90: numeric comparison failure left: 1677721601 (0x64000001); from: ch right: 100 (0x64); from: L'd' error: 2 test failures One 'char' ("%c") is stored to the pointer 'wchar_t *': ch = 0x00000001 | 0x63000000 This patch is using "%lc" as format specifier to read a wchar_t. Okay to commit? Bye, Stefan ChangeLog: * libio/tst-bz24153.c (wide): Use wide char format specifier. commit 6e7024f01e6aa344dc560027bcc2bd6e0ee41e5b Author: Stefan Liebler Date: Tue Feb 5 16:55:00 2019 +0100 Fix wide char format specifier in libio/tst-bz24153.c. On big endian systems the test fails with: tst-bz24153.c:88: numeric comparison failure left: 1660944385 (0x63000001); from: ch right: 99 (0x63); from: L'c' tst-bz24153.c:90: numeric comparison failure left: 1677721601 (0x64000001); from: ch right: 100 (0x64); from: L'd' error: 2 test failures One 'char' ("%c") is stored to the 'wchar_t *': ch = 0x00000001 | 0x63000000 This patch is using "%lc" as format specifier to read a wchar_t. ChangeLog: * libio/tst-bz24153.c (wide): Use wide char format specifier. diff --git a/libio/tst-bz24153.c b/libio/tst-bz24153.c index 85ad1415df..be0e6bfcf1 100644 --- a/libio/tst-bz24153.c +++ b/libio/tst-bz24153.c @@ -84,9 +84,9 @@ wide (const char *path) TEST_COMPARE (getwchar (), L'a'); TEST_COMPARE (getwchar_unlocked (), L'b'); wchar_t ch = 1; - TEST_COMPARE (wscanf (L"%c", &ch), 1); + TEST_COMPARE (wscanf (L"%lc", &ch), 1); TEST_COMPARE (ch, L'c'); - TEST_COMPARE (call_vwscanf (L"%c", &ch), 1); + TEST_COMPARE (call_vwscanf (L"%lc", &ch), 1); TEST_COMPARE (ch, L'd'); fclose (stdin);