From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on20720.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e8c::720]) by sourceware.org (Postfix) with ESMTPS id 2CF783851AA5 for ; Mon, 20 Jun 2022 13:24:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2CF783851AA5 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cornell.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cornell.edu ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e/AEPfLLekJTcYF9wccqutXScAvIrKg7aOF1ck4a0OoAs/88PZ4z1MgY1dPABirN9QXhQt/6QgaTSpmgF4m/d6w9eWmMAKmTrGDIbWUhg5GQuaVY87XqQN/DqBeOwxeo5qlq+T844vZ/7Zd6MR0ZrzAS6fn+t5gWHW4M3yymHKgriQtb6Er05QtbiKp3asjWHvYKouf1ElurUIoj7jhp57tCnJ71ngV5GX32ocje9ylh+INbcjH+aNisgfwWsEL/KIHQS7RISYuZPimaRgAqDs1gRuUGj9GX7CWW6IdkqMoLNU5Wpbu2Sh4ylRtLRNWQQMNmxenILMVXKozA5sd4Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fHcOLOUczBzYKOSKGHNaZbEJjUBFGJBfgcJFozh3cq0=; b=NuDnNMsXKBub0TA8xyqV14J7NZggp7o8sxZhXEaHOxi9noT5D68iv1XZ/kfLcvM7443+Sal0zYCOqs9Iv+Lb8tGb3BiwKoddSsnOLXIde6tdFOEyIJKCGxPhDL29lVH+IqEIXohXayFwVwIOCWI4W3nyGcv7hOyLhmRe9UXXjuB3PgklbIHAoRSFGWhjkmO3vqFV0hOMPSilxxiDg1ZA2VKHzCVfjx2dQcH3jRRArUDgWKW15rr9qdCixHey63At7XbL0+AubyyDn8K0e1X8kOLVsMFCfVf/hyjuLT1DWxiXYtWv+p3wX72+xczNVhM04JQG9HGY4m+INhYlf532VA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cornell.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fHcOLOUczBzYKOSKGHNaZbEJjUBFGJBfgcJFozh3cq0=; b=cEYynhdAxEWmimvtorCe4KgUl4somIDt6Vb9zfu66Df+IYUrh0PLfFk/HtMj2zd7uJis45ETDYpLXdc/ZUW4mzBRU+QsBV1o15ntNcnRwhRmpTygOByu0ZY9XsygNlBbMLC08GpJK+polwm+d8q+nikIDH6aT/5aVhX1m5p7AQ4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cornell.edu; Received: from BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) by CO2PR04MB2247.namprd04.prod.outlook.com (2603:10b6:102:13::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.20; Mon, 20 Jun 2022 13:24:14 +0000 Received: from BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::9db9:737b:d7ae:d913]) by BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::9db9:737b:d7ae:d913%5]) with mapi id 15.20.5353.022; Mon, 20 Jun 2022 13:24:14 +0000 Content-Type: multipart/mixed; boundary="------------Vz2YndoxaTy8MshKBrkoEf6c" Message-ID: <5c548a4c-b7ea-b7e0-6ab6-ea0e94ce66a1@cornell.edu> Date: Mon, 20 Jun 2022 09:24:12 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: Bug in Control-d handling? Content-Language: en-US To: cygwin@cygwin.com References: <827e2006-2aae-9f7f-9c3f-eef3a7c6e793@cornell.edu> <20220620175935.924a49feb13156f1a3cf3da4@nifty.ne.jp> <20220620192223.2e0a084a7c093939b1c7c8d6@nifty.ne.jp> From: Ken Brown In-Reply-To: <20220620192223.2e0a084a7c093939b1c7c8d6@nifty.ne.jp> X-ClientProxiedBy: BL1PR13CA0378.namprd13.prod.outlook.com (2603:10b6:208:2c0::23) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1f0d253d-1d3b-452a-783c-08da52c02b58 X-MS-TrafficTypeDiagnostic: CO2PR04MB2247:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UyynXG6351rTPrC+QZl7tqZ0aN9NFhn1dNu01h6i/YzALW6XkZhGAd8lO9p9kpvYfyREzpFtDq0+wA87aKcyaT17pejf1XKRlua5zEluQu/GsP5011z3eW2Jib5nCVv3+iZTb/xteI99N4ZtVyo5SIuZM9ZhbXhTm6IvlTTQSCd8VDKLEMqQQg7X+8+aMyLNW0BUIbKuyM44/P38gZwovlBxkMKIT+qZZ/brXgRzqaBJcZMWUJMYH1YP67d47wEiRsDnyh3F/RFPdrtXNrvweR1ksjyb0+ytMxq4pPyJtmsnMWRMc0v9ycpTcB186v6U8s07zjQj4rJEYoydz0cvdaKA7xOzgSjbDCfSRYS1jaO1gMEhFJAqRSKoHWkh4TdRO/ZGD/wlPhUVLUyXdd2/5EM5zNKLAbfjnhydy03vAYDA+C0MglHx/sxAsGD7Lcbb8r1heMUx8xOeA5Hjgbw12o1PsKWIOFvk/VbicaPX5yRxkXqfLMngUqhMd9dzxWIv/DSyunT3veoKDaV0PjggDbaFvQXEbeYNzbEpadhAjBxyVOnPIMMcVbJJ3fuxXr8BbvKX9BmQBsgCyJWZqHNsdWmYkFy6vTCmoVMKc073/OadG2d8eUZP3MnkwkiSonsrlJkUG6ocKSRzOHP53c7SHozn0CSgEl0fg9zwUcQ/BdWsucCh19Mk77LQ9HrjnNU8AgkSy+G/f307fiUQS6qqErkUdT46MlR6JRN/B6jS4Xo= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN7PR04MB4388.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(39860400002)(136003)(366004)(346002)(376002)(396003)(786003)(316002)(6486002)(41300700001)(6916009)(6506007)(33964004)(53546011)(478600001)(75432002)(41320700001)(2906002)(66946007)(8676002)(66476007)(66556008)(5660300002)(235185007)(86362001)(83380400001)(6512007)(3480700007)(36756003)(31696002)(38100700002)(31686004)(186003)(2616005)(8936002)(45980500001)(43740500002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RTF1b2ZaRU81bGFkYzBlMEhWQW11WFdWbTZCYnBiSXBsSVdKQS9aTFlNbEpP?= =?utf-8?B?S3lFVExUNUhMNDhtaWdrUUtMSXFzVWJscmhxSUw1ckcxMEgxQ3diNzZjYUV3?= =?utf-8?B?Q29OY2E5c3pZV0tRYUNCNU5rTndnWlRLRExhb3lXUmQwTUNWaG5uYVhJdmRF?= =?utf-8?B?eUM0NUVqTVg1cW5kbWFodzFVY3FYN25SaXlMcytlQ3Brem1lTEVIQTdRaGNP?= =?utf-8?B?Y1ZwZXpNcmRhbll6SldBcCtobmVUQS80aVdlS094TG5tQTY3U3dWUjJUV1py?= =?utf-8?B?d0NLOHRiaDVvejU4bTZ2Si9uWFNrK21WZ2I0dUUwVGF4NzR1ZlJKMi9qRDNR?= =?utf-8?B?QXlkeDhtRTkxcVgwbVBRNjJaQk5BTUNWN01WVWNLeFNQenczUDA2QXMyd21l?= =?utf-8?B?djBTOU5HRE10S0NqVmlZUUEwQUpieEQyNkxMbzNTaEZTQmx3Um5xcjU5cTFL?= =?utf-8?B?ZzQ2TTJuS3ExbG5ENk43NThLdTE2Z1Q1b1NESk9YUyswWXFBN1lHYlhselFy?= =?utf-8?B?SHA3K3E5c3NkTVZFV3BKVnlGK1hjT0xmVk5GMzd1ZUFhQzVqT3dRQXQ4Umo3?= =?utf-8?B?dzcyeXJnWGRlZ21lR0NKcXhaSFN2ckROZWdkN3hrZ1pWM3ZZYlZnN3Jyb1Bz?= =?utf-8?B?RkVjRnI4cXVpSWp5SDhNRC9TV0xwSEVIc3dqUlB5aDh0Y3B1ZHNDSjAweUxv?= =?utf-8?B?OHpBMm9sV1pzQkFRNUV1QzA1bW1Yd3R3YnJxenM5K25wcWg4cldjemkwVmRJ?= =?utf-8?B?ZmplQWJ1NFFMejVZSVVOcHFCbGFkLzFXZ1RkV3pJbnd0ZkJVMEExcVV0ZE9W?= =?utf-8?B?aUZsZ0c2WXJhUXhBMk1JanFvbkdUMnJESWxmaXBvUFhxK3g2dXBlV0xNNU1a?= =?utf-8?B?bFRWYi9IT2piSEdoc2V5Y0k2bnk4eHRwM0tBMjIyaDJBYzI0SzdQRmdrM0kv?= =?utf-8?B?WHFQUWJld0RuaStVMUgvSm94REFVOXhZQjBEbXUvVEJyMmpnc3JOZmVmRnpa?= =?utf-8?B?YzEvYzM2dVF2U000WER6ck9BWFpkR0ZuU1ZQMmNTcXZvcStTSTdzMWtHLzZK?= =?utf-8?B?QTBzcEFPcWJTbENLVmNQWDUrbGZpN2dmTVIwTFdvNHN3QXVSL0YwTFIzcFFC?= =?utf-8?B?MWZHUm1VWGI5QWIzb3NiOGI4eDVEUGRsaHNwMnFQeTZzKzhiVUkwZzRCL0V2?= =?utf-8?B?T3c0NEVEcENCYko4QUhwR3VUaHl1TVRXaGtONW9UcHlyaXZENW14YVVWd3cv?= =?utf-8?B?cDhxWjBFa3FqdjZKamR0dTl2YTRnZVRnemZvdEhPQ2lYTmJPbG5qeEZydXlD?= =?utf-8?B?ZUpEVGpFamlGcTkxbVFpcVVQeTNQeHhkL2p6MlhMRm02VXM2ZTZEUGNJVDdp?= =?utf-8?B?MkVJYU4wMTNyVVYrcVVwZWYvMC9WaHlRbXpxUjdZVnJzYnJjaWROZnF5R0dP?= =?utf-8?B?VXo3b0g5OGQ4NFl4K0xRb2NsdVlIdW5wYmJUTklYcmRLcWNSUE9BNys3SUd4?= =?utf-8?B?VUdJWHNkMDNjbkljWnZzaTVKejJ4NCtrc1FYMEsvdUFjdFNsZUIwQnlaREx2?= =?utf-8?B?TkNETXBvUklPUk1jaXl1UHRNVGw2SXkxS1YrSFJBSXd1c0srZnZFUU85K0ZY?= =?utf-8?B?T2tvWmxubG9DNFJ6Szc3MVhLQ213aUpvMVloQWgzVzkyVGFjSFpueU1pVklL?= =?utf-8?B?N1VLT0hrS2RRRE1iUkhNZGZML2M5Z1RqalhuWkc0eVNPdWtzWTlFTldHN3Vt?= =?utf-8?B?U2dONFVaQ0NhOVEzUS9PeUpxdEVtVUtSOTlIUmZBYmI1RnU0Z2o4aXJkaTRK?= =?utf-8?B?c01od2tKTTh6allUUlJ5ckRGZUx3TlFNYVY4REpEL2hTOWxPeVBPVXUrRzVz?= =?utf-8?B?akZxZm0yK1VQTWpZQjQ1WGxWSjkvcGtzR1lUcHgvOGcwTDI2bU1DMkR0S3lx?= =?utf-8?B?SXRmUExOYkowZ0dmS2lWMlZwajB1cU1aVVVFK1FZTzluTUtPem5Pa1p6eXRV?= =?utf-8?B?Q0ttbTkzTVRNVW5ydGFhZjBTNVNZV2lWeVI5RE42MEZOR0hSMU9zcjdGM3Ix?= =?utf-8?B?dmxjcmJLT1BpU3Foa1FVMGJJaFZVMm5MNVo3bzRNR3A5TU5EVTczY1FaYzNl?= =?utf-8?B?S2RtQnErRTVibzlwcGpXVDNUYVkyeklWaWJQc0IzRXJZUlludGh0Skp5KzBh?= =?utf-8?B?bUtCbjlBeVQrWnpnajFmbE82dFpLVlRhMFdRdnVKcEd5Ky9ISGlXdk1RWnhr?= =?utf-8?B?NUYvN0FXSXdySGpzcklzY1JQblkyS0dkNjdBZ05sNDdLQTU4cDQ2SkpTRzdP?= =?utf-8?B?M01QN0tZNXhxakNneGtmQXRJeUk4VGdMZGZ4c040RmlYbW9pa2t3SnRmQmdQ?= =?utf-8?Q?5drJcSMrW9b0uP6Ssx2GL+C6jMB+xhNVRSqn/pKM1LhgW?= X-MS-Exchange-AntiSpam-MessageData-1: qQtHJjw3DjJpPQ== X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 1f0d253d-1d3b-452a-783c-08da52c02b58 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jun 2022 13:24:14.2638 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UMVwSwY9YEz1y7ZkUU23Ppgfi6NL8YHx8QI54BJKfWgvWmhllDWe34lUd8DXLC15dnvrkE2xcKRDjVsbQlto2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR04MB2247 X-Spam-Status: No, score=-9.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, JMQ_SPF_NEUTRAL, NICE_REPLY_A, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jun 2022 13:24:19 -0000 --------------Vz2YndoxaTy8MshKBrkoEf6c Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 6/20/2022 6:22 AM, Takashi Yano wrote: > On Mon, 20 Jun 2022 17:59:35 +0900 > Takashi Yano wrote: >> Isn't this a bug of newlib? Try following code. >> >> #include >> >> int main() >> { >> printf("%d\n", getchar()); >> printf("%d\n", feof(stdin)); >> printf("%d\n", getchar()); >> return 0; >> } >> >> If you press Ctrl-D at the first getchar(), the second getchar() >> does not return EOF while it does in linux. >> >> The following patch seems to resolve the issue. >> >> diff --git a/newlib/libc/stdio/refill.c b/newlib/libc/stdio/refill.c >> index ccedc7af7..843163b7e 100644 >> --- a/newlib/libc/stdio/refill.c >> +++ b/newlib/libc/stdio/refill.c >> @@ -47,11 +47,9 @@ __srefill_r (struct _reent * ptr, >> >> fp->_r = 0; /* largely a convenience for callers */ >> >> -#ifndef __CYGWIN__ >> /* SysV does not make this test; take it out for compatibility */ >> if (fp->_flags & __SEOF) >> return EOF; >> -#endif >> >> /* if not already reading, have to be reading and writing */ >> if ((fp->_flags & __SRD) == 0) >> >> However, I am not sure what this #ifndef __CYGWIN__ is for. > > Ah, I confirmed that System V (Solaris 11.4) behaves like that. > Does cygwin aim for System V compatibility??? Thanks for tracking this down! I don't recall any situation in which Cygwin preferred System V compatibility over Linux compatibility. I'm attaching the commit (from November 2004) in which the #ifndef __CYGWIN__ was introduced. There's no indication in the commit message as to the reason for the change. I also didn't see anything relevant in the cygwin or cygwin-developers mailing lists from November 2004, but I might have missed it. I think that commit should probably be reverted, but we should wait until Corinna is available. Even though the issue is in newlib code, the code only affects Cygwin, so there's probably no need to involve the newlib list. But again, that's Corinna's call. Ken --------------Vz2YndoxaTy8MshKBrkoEf6c Content-Type: text/plain; charset=UTF-8; name="0001-libc-stdio-refill.c-__srefill-Try-again-after-EOF-on.patch" Content-Disposition: attachment; filename*0="0001-libc-stdio-refill.c-__srefill-Try-again-after-EOF-on.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAxZjhmN2UyZDU0MzY0YmQyOTkzODkyYWRmZmI1YzY0MzVmNTMxNjdkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGhlciBGYXlsb3IgPG1lQGNnZi5jeD4KRGF0ZTog V2VkLCAxNyBOb3YgMjAwNCAxNzowMjoxMCArMDAwMApTdWJqZWN0OiBbUEFUQ0hdICogbGliYy9z dGRpby9yZWZpbGwuYyAoX19zcmVmaWxsKTogVHJ5IGFnYWluIGFmdGVyIEVPRiBvbgogQ3lnd2lu LiAgQ2xlYXIgRU9GIGZsYWcgaWYgc3VjY2Vzc2Z1bC4KCi0tLQogbmV3bGliL0NoYW5nZUxvZyAg ICAgICAgICAgfCA1ICsrKysrCiBuZXdsaWIvbGliYy9zdGRpby9yZWZpbGwuYyB8IDggKysrKysr KysKIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ld2xp Yi9DaGFuZ2VMb2cgYi9uZXdsaWIvQ2hhbmdlTG9nCmluZGV4IDk5ODNlNmJhNi4uOGI4Y2Y0ZDRj IDEwMDY0NAotLS0gYS9uZXdsaWIvQ2hhbmdlTG9nCisrKyBiL25ld2xpYi9DaGFuZ2VMb2cKQEAg LTEsMyArMSw4IEBACisyMDA0LTExLTE3ICBDaHJpc3RvcGhlciBGYXlsb3IgIDxjZ2ZAdGltZXN5 cy5jb20+CisKKwkqIGxpYmMvc3RkaW8vcmVmaWxsLmMgKF9fc3JlZmlsbCk6IFRyeSBhZ2FpbiBh ZnRlciBFT0Ygb24gQ3lnd2luLiAgQ2xlYXIKKwlFT0YgZmxhZyBpZiBzdWNjZXNzZnVsLgorCiAy MDA0LTEwLTI4ICBDaHJpc3RvcGhlciBGYXlsb3IgIDxjZ2ZAdGltZXN5cy5jb20+CiAKIAkqIGxp YmMvaW5jbHVkZS9zeXMvc2lnbmFsLmg6IE1vdmUgPHNpZ25hbC5oPiBpbmNsdWRlIHRvIGJvdHRv bSBvZiBmaWxlCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpby9yZWZpbGwuYyBiL25ld2xp Yi9saWJjL3N0ZGlvL3JlZmlsbC5jCmluZGV4IDc0NTczZThmZC4uM2YwYjFhNTY2IDEwMDY0NAot LS0gYS9uZXdsaWIvbGliYy9zdGRpby9yZWZpbGwuYworKysgYi9uZXdsaWIvbGliYy9zdGRpby9y ZWZpbGwuYwpAQCAtNDUsOSArNDUsMTEgQEAgX0RFRlVOKF9fc3JlZmlsbCwgKGZwKSwKIAogICBm cC0+X3IgPSAwOwkJCS8qIGxhcmdlbHkgYSBjb252ZW5pZW5jZSBmb3IgY2FsbGVycyAqLwogCisj aWZuZGVmIF9fQ1lHV0lOX18KICAgLyogU3lzViBkb2VzIG5vdCBtYWtlIHRoaXMgdGVzdDsgdGFr ZSBpdCBvdXQgZm9yIGNvbXBhdGliaWxpdHkgKi8KICAgaWYgKGZwLT5fZmxhZ3MgJiBfX1NFT0Yp CiAgICAgcmV0dXJuIEVPRjsKKyNlbmRpZgogCiAgIC8qIGlmIG5vdCBhbHJlYWR5IHJlYWRpbmcs IGhhdmUgdG8gYmUgcmVhZGluZyBhbmQgd3JpdGluZyAqLwogICBpZiAoKGZwLT5fZmxhZ3MgJiBf X1NSRCkgPT0gMCkKQEAgLTk4LDcgKzEwMCwxMyBAQCBfREVGVU4oX19zcmVmaWxsLCAoZnApLAog ICBmcC0+X3AgPSBmcC0+X2JmLl9iYXNlOwogICBmcC0+X3IgPSAoKmZwLT5fcmVhZCkgKGZwLT5f Y29va2llLCAoY2hhciAqKSBmcC0+X3AsIGZwLT5fYmYuX3NpemUpOwogICBmcC0+X2ZsYWdzICY9 IH5fX1NNT0Q7CS8qIGJ1ZmZlciBjb250ZW50cyBhcmUgYWdhaW4gcHJpc3RpbmUgKi8KKyNpZm5k ZWYgX19DWUdXSU5fXwogICBpZiAoZnAtPl9yIDw9IDApCisjZWxzZQorICBpZiAoZnAtPl9yID4g MCkKKyAgICBmcC0+X2ZsYWdzICY9IH5fX1NFT0Y7CisgIGVsc2UKKyNlbmRpZgogICAgIHsKICAg ICAgIGlmIChmcC0+X3IgPT0gMCkKIAlmcC0+X2ZsYWdzIHw9IF9fU0VPRjsKLS0gCjIuMzYuMQoK --------------Vz2YndoxaTy8MshKBrkoEf6c--