From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by sourceware.org (Postfix) with ESMTPS id 50D8E3858D1E; Sat, 6 Apr 2024 02:38:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 50D8E3858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 50D8E3858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::632 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712371095; cv=none; b=g4Y9h9X9nkAli0zukyFddhDYxPxP7ubMfa6b4+fErNI7IrAvBn5p9XW1bCy6Su/SAFdMHuOTGF1+QX/b5qeELHBG8ebjFuZh3lCZt1AYTwdFliZhnKrWpzS4KyV+snM7ztjcj7ScloKTtlOgMNXmGqNffxu1BH22TDHkcH0dMyo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712371095; c=relaxed/simple; bh=sTmRbryyNtHLht1DhAcNsVWeYYyLmL8S91o/rKVl8TY=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=SY6pKvyFu9D4NFHjO+fDQKilSnLsMjQBMMUOJ67C5MZcYJ4tHu9nWqQ7yG17t6R8CIoCcIym//j+dp5Z45xSo8ki331lwD3kOQhfyKJiAjPnHd6zhTksDE6jl/iS2Vs3ePLurBnCj8b7wZyKHz/9gPLOs6cdZp9g3evv/b8o36o= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-1e21db621caso5686905ad.0; Fri, 05 Apr 2024 19:38:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712371091; x=1712975891; darn=gcc.gnu.org; h=in-reply-to:autocrypt:from:content-language:references:cc:to :subject:user-agent:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; bh=5bSpLwXHA1HF6Hwz7v2yFEYKa17ayKSgprIETVWpMgg=; b=hXrUErz4x7JmuRuq52+FMOEg+2x0EZIIy1Cu90K8RN3/NJKQy6m0O2CX4Qh5e+idTa 2bl+IOHZ3ipfQ3hzWyPtwk78EFLxQ8iv344al8zjbx3BhtVBlXBrXX5a7sGz9iBI1Fy6 PmFzkQhQsBvDJzB//SbmZ7RNwgjOYpsuwBi8nQ45DlzWaYAAtUr1iTn2vH7X1qvNvVss DFsdg7T8TPAzg1BBHkQ+B0iI65FSsZGQEHTeJ0QHuomXj8j5Q6SRKbYBve6dTQMMNnXt WRuI0gM5jA6VhAGvV0qPu9J0JVZkPaL6kvqSfeaR3exZ7dIXhBVwnSnkKFG9GYbncAmE Dr8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712371091; x=1712975891; h=in-reply-to:autocrypt:from:content-language:references:cc:to :subject:user-agent:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=5bSpLwXHA1HF6Hwz7v2yFEYKa17ayKSgprIETVWpMgg=; b=hDzwZGuSQmV/o01avc6iIY+UU3tPNQsEk0tLgrYMHzd0vmDjgRYWODunrrMgxjw6jr dyC0S7bHPvGKwWtydmTrlUvAEqHy/2TJ/b7XcozzzUqUi8uxEjQFkLuGpT+sBffYEHZJ eD0WAHWd/LT5pVc8VEnEDf49Xf/u9VGjISgOR5UUmBFDhgrwwgZseqCdNjqnpoHgnkq1 dixBuJMd/s+OHEw1IxFMzR23mcTxlse6fFMGbALVm7a5oQ5HNhJqbURuddxp6876KcfT uHYe1xpOi89hBfE6e8FBUqKzQc01kQgNnE1ogQb/LyML15B+u7EUbl9Tz/OFri33xJoK 9+cg== X-Forwarded-Encrypted: i=1; AJvYcCXth+uVl35Is06SAjzhP/TiQKpIyXQxes38J6ZmMdHYiw/+Bkgn7Npt8jfJNdgKH6otLNYGXig/qELLAt29tO/q/CYR X-Gm-Message-State: AOJu0Yw1OYxv3ewbPWV4XtNjHC8yY97cwl3bmeEUcmc5rz3J/19w/XXS C276HQTs8uwhqDf5N9aCe3b/1lSZfGG2JvAfpMf1BYcbkQjB96kT X-Google-Smtp-Source: AGHT+IFhzrnKkwLUCgF0wnqMobY3p4JhDreYdBvq4oxqdDbCON3GoOuE8l1MavyLxQopBFfOhmWvxg== X-Received: by 2002:a17:903:2351:b0:1e0:c887:f938 with SMTP id c17-20020a170903235100b001e0c887f938mr3652899plh.3.1712371091126; Fri, 05 Apr 2024 19:38:11 -0700 (PDT) Received: from [192.168.1.20] ([50.37.177.113]) by smtp.gmail.com with ESMTPSA id m10-20020a170902db0a00b001e0e977f655sm2329738plx.159.2024.04.05.19.38.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Apr 2024 19:38:10 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------30t7LttOfd82YXH6OEPRF89O" Message-ID: Date: Fri, 5 Apr 2024 19:38:09 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: =?UTF-8?Q?Re=3A_=5Bpatch=2C_libgfortran=5D_PR114304_-_=5B13/14_Regr?= =?UTF-8?Q?ession=5D_libgfortran_I/O_=E2=80=93_bogus_=22Semicolon_not_allowe?= =?UTF-8?Q?d_as_separator_with_DECIMAL=3D=27point=27=22?= To: Tobias Burnus , gfortran Cc: gcc-patches References: <9a848b89-ee95-44f7-8491-cbe22804edf4@gmail.com> <15a39ada-c7fc-433d-ab39-19b897a8a3e8@baylibre.com> <6a742cef-5321-4b34-a2f0-870abd1ba82a@gmail.com> Content-Language: en-US From: Jerry D Autocrypt: addr=jvdelisle2@gmail.com; keydata= xjMEY5TlkxYJKwYBBAHaRw8BAQdAyrkRDhmJhSTTlV/50gJLlvliU6/Lm5C9ViKV8T9y1GnN HkplcnJ5IEQgPGp2ZGVsaXNsZTJAZ21haWwuY29tPsKJBBMWCAAxFiEEOFR0TS0390uh8dRV uWXAJaWpwWoFAmOU5ZMCGwMECwkIBwUVCAkKCwUWAgMBAAAKCRC5ZcAlpanBalsJAP4wdCiH 2Of9oZv1QWgZ/AVdbWFM3Fv47/WZQHOXfoZ9HgD6AkXrKeJ+6usST7PEaDJjptaViT1fLiYY V/6XaOKSsgLOOARjlOWTEgorBgEEAZdVAQUBAQdAdA7PczYnl07vnOT9oP/wvvMDd4HP09Zl g3LzwXQJWT8DAQgHwngEGBYIACAWIQQ4VHRNLTf3S6Hx1FW5ZcAlpanBagUCY5TlkwIbDAAK CRC5ZcAlpanBasF/AQCa5WjlsVpLsEiggZyT18MOJNAdeRd7wkGDUrwedHrvawD/cE1H+/Ms L1ZwvQiLfGdx8crigQqWTQyos4kH8Wx82wc= In-Reply-To: <6a742cef-5321-4b34-a2f0-870abd1ba82a@gmail.com> X-Spam-Status: No, score=-8.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------30t7LttOfd82YXH6OEPRF89O Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 4/5/24 10:47 AM, Jerry D wrote: > On 4/4/24 2:41 PM, Tobias Burnus wrote: >> Hi Jerry, >> >> I think for the current testcases, I like the patch – the question is >> only what's about: >> >>    ',3' as input for 'comma'   (or '.3' as input for 'point') >> >> For 'point' – 0.3 is read and ios = 0 (as expected) >> But for 'comma': >> * GCC 12 reads nothing and has ios = 0. >> * GCC 13/mainline has an error (ios != 0 – and reads nothing) >> * GCC with your patch: Same result: ios != 0 and nothing read. >> >> Expected: Same as with ','/'comma' – namely: read-in value is 0.3. >> → https://godbolt.org/z/4rc8fz4sT for the full example, which works >> with ifort, ifx and flang >> >> * * * >> >> Can you check and fix this? It looks perfectly valid to me to have >> remove the '0' in the floating point numbers '0.3' or '0,3' seems to >> be permitted – and it works for '.' (with 'point') but not for ',' >> (with 'comma'). >> > Yes, I found the spot to fix this. > >> F2023's "13.10.3.1 List-directed input forms" refers to "13.7.2.3.2 F >> editing", which states: >> >> "The standard form of the input field [...] The form of the mantissa >> is an optional sign, followed by a string of one or more digits >> optionally containing a decimal symbol." >> >> The latter does not require that the digit has to be before the >> decimal sign and as for output, it is optional, it is surely intended >> that ",3" is a valid floating-point number for decimal='comma'. >> > > Agree > >> * * * >> >> I extended the testcase to check for this – see attached diff. All >> 'point' work, all 'comma' fail. >> >> Thanks for working on this! >> >> Tobias > > Thanks much. After I fix it, I will use your extended test case in the > test suite. > > Jerry - See attached updated patch. Regressions tested on x86-64. OK for trunk and 13 after a bit. Jerry - --------------30t7LttOfd82YXH6OEPRF89O Content-Type: text/x-patch; charset=UTF-8; name="submit-3.diff" Content-Disposition: attachment; filename="submit-3.diff" Content-Transfer-Encoding: base64 Y29tbWl0IDY5MGI5ZmE1N2Q5NTc5NmJhMGU5MmExNzJlMTQ5MDYwMWYyNWUwM2EKQXV0aG9y OiBKZXJyeSBEZUxpc2xlIDxqdmRlbGlzbGVAZ2NjLmdudS5vcmc+CkRhdGU6ICAgRnJpIEFw ciA1IDE5OjI1OjEzIDIwMjQgLTA3MDAKCiAgICBsaWJmb3J0cmFuOiBGaXggaGFuZGxpbmcg b2YgZm9ybWF0dGVkIHNlcGFyYXRvcnMuCiAgICAKICAgICAgICAgICAgUFIgbGliZm9ydHJh bi8xMTQzMDQKICAgICAgICAgICAgUFIgbGliZm9ydHJhbi8xMDU0NzMKICAgIAogICAgbGli Z2ZvcnRyYW4vQ2hhbmdlTG9nOgogICAgCiAgICAgICAgICAgICogaW8vbGlzdF9yZWFkLmMg KGVhdF9zZXBhcmF0b3IpOiBBZGQgbG9naWMgdG8gaGFuZGxlIHNwYWNlcwogICAgICAgICAg ICBwcmVjZWRpbmcgYSBjb21tYSBvciBzZW1pY29sb24gc3VjaCB0aGF0IHRoYXQgYSAnbnVs bCcgcmVhZAogICAgICAgICAgICBvY2N1cnMgd2l0aG91dCBlcnJvciBhdCB0aGUgZW5kIG9m IGNvbW1hIG9yIHNlbWljb2xvbgogICAgICAgICAgICB0ZXJtaW5hdGVkIGlucHV0IGxpbmVz LiBBZGQgY2hlY2sgYW5kIGVycm9yIG1lc3NhZ2UgZm9yICc7Jy4KICAgICAgICAgICAgKGxp c3RfZm9ybWF0dGVkX3JlYWRfc2NhbGFyKTogVHJlYXQgY29tbWEgYXMgYSBkZWNpbWFsIHBv aW50CiAgICAgICAgICAgIHdoZW4gc3BlY2lmaWVkIGJ5IHRoZSBkZWNpbWFsIG1vZGUgb24g dGhlIGZpcnN0IGl0ZW0uCiAgICAKICAgIGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgogICAg CiAgICAgICAgICAgICogZ2ZvcnRyYW4uZGcvcHIxMDU0NzMuZjkwOiBNb2RpZnkgdG8gdmVy aWZ5IG5ldyBlcnJvciBtZXNzYWdlLgogICAgICAgICAgICAqIGdmb3J0cmFuLmRnL3ByMTE0 MzA0LmY5MDogTmV3IHRlc3QuCgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9wcjEwNTQ3My5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3ByMTA1NDcz LmY5MAppbmRleCAyNjc5ZjZiYjQ0Ny4uODYzYTMxMmM3OTQgMTAwNjQ0Ci0tLSBhL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHIxMDU0NzMuZjkwCisrKyBiL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvcHIxMDU0NzMuZjkwCkBAIC05LDExICs5LDExIEBACiAgIG4gPSA5OTk7 IG0gPSA3Nzc7IHI9MS4yMzQ1CiAgIHogPSBjbXBseCgwLjAsMC4wKQogCi0hIENoZWNrIHRo YXQgc2VtaS1jb2xvbiBpcyBhbGxvd2VkIGFzIHNlcGFyYXRvciB3aXRoIGRlY2ltYWw9cG9p bnQuCishIENoZWNrIHRoYXQgc2VtaS1jb2xvbiBpcyBub3QgYWxsb3dlZCBhcyBzZXBhcmF0 b3Igd2l0aCBkZWNpbWFsPXBvaW50LgogICBpb3M9MAogICB0ZXN0aW5wdXQgPSAnMTsxNzsz LjE0MTU5JwogICByZWFkKHRlc3RpbnB1dCwqLGRlY2ltYWw9J3BvaW50Jyxpb3N0YXQ9aW9z KSBuLCBtLCByCi0gIGlmIChpb3MgLz0gMCkgc3RvcCAxCisgIGlmIChpb3MgLz0gNTAxMCkg c3RvcCAxCiAKICEgQ2hlY2sgdGhhdCBzZW1pLWNvbG9uIGFsbG93ZWQgYXMgYSBzZXBhcmF0 b3Igd2l0aCBkZWNpbWFsPXBvaW50LgogICBpb3M9MApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9wcjExNDMwNC5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL3ByMTE0MzA0LmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uMmY5MTNmMWFiMzQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL3ByMTE0MzA0LmY5MApAQCAtMCwwICsxLDExNCBAQAorISB7IGRnLWRvIHJ1biB9 CishCishIFBSIGZvcnRyYW4vMTE0MzA0CishCishIFNlZSBhbHNvIFBSIGZvcnRyYW4vMTA1 NDczCishCishIFRlc3Rpbmc6IERvZXMgbGlzdC1kaXJlY3RlZCByZWFkaW5nIGFuIGludGVn ZXIvcmVhbCBhbGxvdyBzb21lIG5vbi1pbnRlZ2VyIGlucHV0PworIQorISBOb3RlOiBHQ0Mg cmVzdWx0IGNvbW1lbnRzIGJlZm9yZSBmaXggb2YgdGhpcyBQUi4KKworICBpbXBsaWNpdCBu b25lCisgIGNhbGwgdCgudHJ1ZS4sICAnY29tbWEnLCAnOycpICEgTm8gZXJyb3Igc2hvd24K KyAgY2FsbCB0KC5mYWxzZS4sICdwb2ludCcsICc7JykgISAvIVwgZ2ZvcnRyYW46IG5vIGVy cm9yLCBvdGhlcnM6IGVycm9yCisgIGNhbGwgdCguZmFsc2UuLCAnY29tbWEnLCAnLCcpICEg RXJyb3Igc2hvd24KKyAgY2FsbCB0KC50cnVlLiwgICdwb2ludCcsICcsJykgISBObyBlcnJv ciBzaG93bgorICBjYWxsIHQoLmZhbHNlLiwgJ2NvbW1hJywgJy4nKSAhIEVycm9yIHNob3du CisgIGNhbGwgdCguZmFsc2UuLCAncG9pbnQnLCAnLicpICEgRXJyb3Igc2hvd24KKyAgY2Fs bCB0KC5mYWxzZS4sICdjb21tYScsICc1LicpICEgRXJyb3Igc2hvd24KKyAgY2FsbCB0KC5m YWxzZS4sICdwb2ludCcsICc1LicpICEgZ2ZvcnRyYW4vZmxhbmc6IEVycm9yIHNob3duLCBp Zm9ydDogbm8gZXJyb3IKKyAgY2FsbCB0KC5mYWxzZS4sICdjb21tYScsICc1LCcpICEgZ2Zv cnRyYW46IGVycm9yOyBvdGhlcnM6IG5vIGVycm9yCisgIGNhbGwgdCgudHJ1ZS4sICAncG9p bnQnLCAnNSwnKSAhIE5vIGVycm9yIHNob3duCisgIGNhbGwgdCgudHJ1ZS4sICAnY29tbWEn LCAnNTsnKSAhIE5vIGVycm9yIHNob3duCisgIGNhbGwgdCguZmFsc2UuLCAncG9pbnQnLCAn NTsnKSAhIC8hXCBnZm9ydHJhbjogbm8gZXJyb3Igc2hvd24sIG90aGVyczogZXJyb3IKKyAg Y2FsbCB0KC50cnVlLiwgICdjb21tYScsICc3IC4nKSAhIE5vIGVycm9yIHNob3duCisgIGNh bGwgdCgudHJ1ZS4sICAncG9pbnQnLCAnNyAuJykgISBObyBlcnJvciBzaG93bgorICBjYWxs IHQoLnRydWUuLCAgJ2NvbW1hJywgJzcgLCcpICEgLyFcIGdmb3J0cmFuOiBlcnJvcjsgb3Ro ZXJzOiBubyBlcnJvcgorICBjYWxsIHQoLnRydWUuLCAgJ3BvaW50JywgJzcgLCcpICEgTm8g ZXJyb3Igc2hvd24KKyAgY2FsbCB0KC50cnVlLiwgICdjb21tYScsICc3IDsnKSAhIE5vIGVy cm9yIHNob3duCisgIGNhbGwgdCgudHJ1ZS4sICAncG9pbnQnLCAnNyA7JykgISBObyBlcnJv ciBzaG93bgorCishICBwcmludCAqLCAnLS0tLS0tLS0tLS0tLS0tJworCisgIGNhbGwgdCgu ZmFsc2UuLCAnY29tbWEnLCAnOC4nLCAudHJ1ZS4pICEgRXJyb3Igc2hvd24KKyAgY2FsbCB0 KC50cnVlLiwgICdwb2ludCcsICc4LicsIC50cnVlLikgISBnZm9ydHJhbi9mbGFuZzogRXJy b3Igc2hvd24sIGlmb3J0OiBubyBlcnJvcgorICBjYWxsIHQoLnRydWUuLCAgJ2NvbW1hJywg JzgsJywgLnRydWUuKSAhIGdmb3J0cmFuOiBlcnJvcjsgb3RoZXJzOiBubyBlcnJvcgorICBj YWxsIHQoLnRydWUuLCAgJ3BvaW50JywgJzgsJywgLnRydWUuKSAhIE5vIGVycm9yIHNob3du CisgIGNhbGwgdCgudHJ1ZS4sICAnY29tbWEnLCAnODsnLCAudHJ1ZS4pICEgTm8gZXJyb3Ig c2hvd24KKyAgY2FsbCB0KC5mYWxzZS4sICdwb2ludCcsICc4OycsIC50cnVlLikgISAvIVwg Z2ZvcnRyYW46IG5vIGVycm9yIHNob3duLCBvdGhlcnM6IGVycm9yCisgIGNhbGwgdCgudHJ1 ZS4sICAnY29tbWEnLCAnOSAuJywgLnRydWUuKSAhIE5vIGVycm9yIHNob3duCisgIGNhbGwg dCgudHJ1ZS4sICAncG9pbnQnLCAnOSAuJywgLnRydWUuKSAhIE5vIGVycm9yIHNob3duCisg IGNhbGwgdCgudHJ1ZS4sICAnY29tbWEnLCAnOSAsJywgLnRydWUuKSAhIC8hXCBnZm9ydHJh bjogZXJyb3I7IG90aGVyczogbm8gZXJyb3IKKyAgY2FsbCB0KC50cnVlLiwgICdwb2ludCcs ICc5ICwnLCAudHJ1ZS4pICEgTm8gZXJyb3Igc2hvd24KKyAgY2FsbCB0KC50cnVlLiwgICdj b21tYScsICc5IDsnLCAudHJ1ZS4pICEgTm8gZXJyb3Igc2hvd24KKyAgY2FsbCB0KC50cnVl LiwgICdwb2ludCcsICc5IDsnLCAudHJ1ZS4pICEgTm8gZXJyb3Igc2hvd24KKyAgY2FsbCB0 KC5mYWxzZS4sICdjb21tYScsICczLDMuJywgLnRydWUuKSAhIEVycm9yIHNob3duCisgIGNh bGwgdCguZmFsc2UuLCAncG9pbnQnLCAnMy4zLicsIC50cnVlLikgISBFcnJvciBzaG93bgor ICBjYWxsIHQoLmZhbHNlLiwgJ2NvbW1hJywgJzMsMywnLCAudHJ1ZS4pICEgZ2ZvcnRyYW4v Zmxhbmc6IG5vIGVycm9yOyBpZm9ydDogZXJyb3IKKyAgY2FsbCB0KC50cnVlLiwgICdjb21t YScsICczLDM7JywgLnRydWUuKSAhIE5vIGVycm9yIHNob3duCisgIGNhbGwgdCguZmFsc2Uu LCAncG9pbnQnLCAnMy4zOycsIC50cnVlLikgISBnZm9ydHJhbi9mbGFuZzogbm8gZXJyb3I7 IGlmb3J0OiBlcnJvcgorICBjYWxsIHQoLnRydWUuLCAgJ2NvbW1hJywgJzQsNCAuJywgLnRy dWUuKSAhIE4gZXJyb3Igc2hvd24KKyAgY2FsbCB0KC50cnVlLiwgICdwb2ludCcsICc0LjQg LicsIC50cnVlLikgISBObyBlcnJvciBzaG93bgorICBjYWxsIHQoLnRydWUuLCAgJ2NvbW1h JywgJzQsNCAsJywgLnRydWUuKSAhIC8hXCBnZm9ydHJhbjogZXJyb3I7IG90aGVyczogbm8g ZXJyb3IKKyAgY2FsbCB0KC50cnVlLiwgICdwb2ludCcsICc0LjQgLCcsIC50cnVlLikgISBO byBlcnJvciBzaG93bgorICBjYWxsIHQoLnRydWUuLCAgJ2NvbW1hJywgJzQsNCA7JywgLnRy dWUuKSAhIE5vIGVycm9yIHNob3duCisgIGNhbGwgdCgudHJ1ZS4sICAncG9pbnQnLCAnNC40 IDsnLCAudHJ1ZS4pICEgTm8gZXJyb3Igc2hvd24KKworISAgcHJpbnQgKiwgJy0tLS0tLS0t LS0tLS0tLScKKworICBjYWxsIHQoLnRydWUuLCAgJ2NvbW1hJywgJzgnLCAudHJ1ZS4pCisg IGNhbGwgdCgudHJ1ZS4sICAncG9pbnQnLCAnOCcsIC50cnVlLikKKyAgY2FsbCB0KC50cnVl LiwgICdwb2ludCcsICc5IDsnLCAudHJ1ZS4pCisgIGNhbGwgdCgudHJ1ZS4sICAnY29tbWEn LCAnMzszLicsIC50cnVlLikKKyAgY2FsbCB0KC50cnVlLiwgICdwb2ludCcsICczLDMuJywg LnRydWUuKQorICBjYWxsIHQoLnRydWUuLCAgJ2NvbW1hJywgJzM7MywnLCAudHJ1ZS4pCisg IGNhbGwgdCgudHJ1ZS4sICAnY29tbWEnLCAnMzszOycsIC50cnVlLikKKyAgY2FsbCB0KC50 cnVlLiwgICdwb2ludCcsICczLDM7JywgLnRydWUuKQorICBjYWxsIHQoLnRydWUuLCAgJ2Nv bW1hJywgJzQ7NCAuJywgLnRydWUuKQorICBjYWxsIHQoLnRydWUuLCAgJ3BvaW50JywgJzQs NCAuJywgLnRydWUuKQorICBjYWxsIHQoLnRydWUuLCAgJ2NvbW1hJywgJzQ7NCAsJywgLnRy dWUuKQorICBjYWxsIHQoLnRydWUuLCAgJ3BvaW50JywgJzQsNCAsJywgLnRydWUuKQorICBj YWxsIHQoLnRydWUuLCAgJ2NvbW1hJywgJzQ7NCA7JywgLnRydWUuKQorICBjYWxsIHQoLnRy dWUuLCAgJ3BvaW50JywgJzQsNCA7JywgLnRydWUuKQorCisgIGNhbGwgdDIoJ2NvbW1hJywg JywyJykKKyAgY2FsbCB0MigncG9pbnQnLCAnLjInKQorICBjYWxsIHQyKCdjb21tYScsICcs MjsnKQorICBjYWxsIHQyKCdwb2ludCcsICcuMiwnKQorICBjYWxsIHQyKCdjb21tYScsICcs MiAsJykKKyAgY2FsbCB0MigncG9pbnQnLCAnLjIgLicpCitjb250YWlucworc3Vicm91dGlu ZSB0MihkZWMsIHRlc3RpbnB1dCkKKyAgY2hhcmFjdGVyKCopIDo6IGRlYywgdGVzdGlucHV0 CisgIGludGVnZXIgaW9zCisgIHJlYWwgOjogcgorICByID0gNDIKKyAgcmVhZCh0ZXN0aW5w dXQsKixkZWNpbWFsPWRlYywgaW9zdGF0PWlvcykgcgorICBpZiAoaW9zIC89IDAgLm9yLiAg YWJzKHIgLSAwLjIpID4gZXBzaWxvbihyKSkgdGhlbgorICAgIHN0b3AgMyAKKyAgZW5kIGlm CitlbmQKK3N1YnJvdXRpbmUgdCh2YWxpZCwgZGVjLCB0ZXN0aW5wdXQsIGlzcmVhbCkKKyAg bG9naWNhbCwgdmFsdWUgOjogdmFsaWQKKyAgY2hhcmFjdGVyKGxlbj0qKSA6OiBkZWMsIHRl c3RpbnB1dAorICBsb2dpY2FsLCBvcHRpb25hbCA6OiBpc3JlYWwKKyAgbG9naWNhbCA6OiBp c3JlYWwyCisgIGludGVnZXIgbixpb3MKKyAgcmVhbCA6OiByCisgIHIgPSA0MjsgbiA9IDQy CisgIGlzcmVhbDIgPSAuZmFsc2UuCisgIGlmIChwcmVzZW50KGlzcmVhbCkpIGlzcmVhbDIg PSBpc3JlYWwKKworICBpZiAoaXNyZWFsMikgdGhlbgorICAgIHJlYWQodGVzdGlucHV0LCos ZGVjaW1hbD1kZWMsaW9zdGF0PWlvcykgcgorICAgIGlmICgodmFsaWQgLmFuZC4gaW9zIC89 IDApIC5vci4gKC5ub3QudmFsaWQgLmFuZC4gaW9zID09IDApKSB0aGVuCisgICAgICBzdG9w IDEKKyAgICBlbmQgaWYKKyAgZWxzZQorICAgIHJlYWQodGVzdGlucHV0LCosZGVjaW1hbD1k ZWMsaW9zdGF0PWlvcykgbgorICAgIGlmICgodmFsaWQgLmFuZC4gaW9zIC89IDApIC5vci4g KC5ub3QudmFsaWQgLmFuZC4gaW9zID09IDApKSB0aGVuCisgICAgICBzdG9wIDEKKyAgICBl bmQgaWYKKyAgZW5kIGlmCitlbmQKK2VuZCBwcm9ncmFtCmRpZmYgLS1naXQgYS9saWJnZm9y dHJhbi9pby9saXN0X3JlYWQuYyBiL2xpYmdmb3J0cmFuL2lvL2xpc3RfcmVhZC5jCmluZGV4 IGZiM2Y3ZGJjMzRkLi5iNTZmMmE0ZTZkNiAxMDA2NDQKLS0tIGEvbGliZ2ZvcnRyYW4vaW8v bGlzdF9yZWFkLmMKKysrIGIvbGliZ2ZvcnRyYW4vaW8vbGlzdF9yZWFkLmMKQEAgLTQ2MSwx MSArNDYxLDMwIEBAIGVhdF9zZXBhcmF0b3IgKHN0X3BhcmFtZXRlcl9kdCAqZHRwKQogICBp bnQgYywgbjsKICAgaW50IGVyciA9IDA7CiAKLSAgZWF0X3NwYWNlcyAoZHRwKTsKICAgZHRw LT51LnAuY29tbWFfZmxhZyA9IDA7CisgIGMgPSBuZXh0X2NoYXIgKGR0cCk7CisgIGlmIChj ID09ICcgJykKKyAgICB7CisgICAgICBlYXRfc3BhY2VzIChkdHApOworICAgICAgYyA9IG5l eHRfY2hhciAoZHRwKTsKKyAgICAgIGlmIChjID09ICcsJykKKwl7CisJICBpZiAoZHRwLT51 LnAuY3VycmVudF91bml0LT5kZWNpbWFsX3N0YXR1cyA9PSBERUNJTUFMX0NPTU1BKQorCSAg ICB1bmdldF9jaGFyIChkdHAsICc7Jyk7CisJICBkdHAtPnUucC5jb21tYV9mbGFnID0gMTsK KwkgIGVhdF9zcGFjZXMgKGR0cCk7CisJICByZXR1cm4gZXJyOworCX0KKyAgICAgIGlmIChj ID09ICc7JykKKwl7CisJICBpZiAoZHRwLT51LnAuY3VycmVudF91bml0LT5kZWNpbWFsX3N0 YXR1cyA9PSBERUNJTUFMX1BPSU5UKQorCSAgICB1bmdldF9jaGFyIChkdHAsICcsJyk7CisJ ICBkdHAtPnUucC5jb21tYV9mbGFnID0gMTsKKwkgIGVhdF9zcGFjZXMgKGR0cCk7CisJICBy ZXR1cm4gZXJyOworCX0KKyAgICB9CiAKLSAgaWYgKChjID0gbmV4dF9jaGFyIChkdHApKSA9 PSBFT0YpCi0gICAgcmV0dXJuIExJQkVSUk9SX0VORDsKICAgc3dpdGNoIChjKQogICAgIHsK ICAgICBjYXNlICcsJzoKQEAgLTQ3Niw4ICs0OTUsMTggQEAgZWF0X3NlcGFyYXRvciAoc3Rf cGFyYW1ldGVyX2R0ICpkdHApCiAJICB1bmdldF9jaGFyIChkdHAsIGMpOwogCSAgYnJlYWs7 CiAJfQotICAgIC8qIEZhbGwgdGhyb3VnaC4gKi8KKyAgICAgIGR0cC0+dS5wLmNvbW1hX2Zs YWcgPSAxOworICAgICAgZWF0X3NwYWNlcyAoZHRwKTsKKyAgICAgIGJyZWFrOworCiAgICAg Y2FzZSAnOyc6CisgICAgICBpZiAoZHRwLT51LnAuY3VycmVudF91bml0LT5kZWNpbWFsX3N0 YXR1cyA9PSBERUNJTUFMX1BPSU5UKQorCXsKKwkgIGdlbmVyYXRlX2Vycm9yICgmZHRwLT5j b21tb24sIExJQkVSUk9SX1JFQURfVkFMVUUsCisJICAgIlNlbWljb2xvbiBub3QgYWxsb3dl ZCBhcyBzZXBhcmF0b3Igd2l0aCBERUNJTUFMPSdwb2ludCciKTsKKwkgIHVuZ2V0X2NoYXIg KGR0cCwgYyk7CisJICBicmVhazsKKwl9CiAgICAgICBkdHAtPnUucC5jb21tYV9mbGFnID0g MTsKICAgICAgIGVhdF9zcGFjZXMgKGR0cCk7CiAgICAgICBicmVhazsKQEAgLTIxNDQsNyAr MjE3Myw5IEBAIGxpc3RfZm9ybWF0dGVkX3JlYWRfc2NhbGFyIChzdF9wYXJhbWV0ZXJfZHQg KmR0cCwgYnQgdHlwZSwgdm9pZCAqcCwKIAkgIGVyciA9IExJQkVSUk9SX0VORDsKIAkgIGdv dG8gY2xlYW51cDsKIAl9Ci0gICAgICBpZiAoaXNfc2VwYXJhdG9yIChjKSkKKyAgICAgIGlm IChjID09ICcsJyAmJiBkdHAtPnUucC5jdXJyZW50X3VuaXQtPmRlY2ltYWxfc3RhdHVzID09 IERFQ0lNQUxfQ09NTUEpCisJYyA9ICcuJzsKKyAgICAgIGVsc2UgaWYgKGlzX3NlcGFyYXRv ciAoYykpCiAJewogCSAgLyogRm91bmQgYSBudWxsIHZhbHVlLiAgKi8KIAkgIGR0cC0+dS5w LnJlcGVhdF9jb3VudCA9IDA7Cg== --------------30t7LttOfd82YXH6OEPRF89O--