From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31883 invoked by alias); 16 Oct 2014 20:54:55 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 31865 invoked by uid 89); 16 Oct 2014 20:54:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-wg0-f52.google.com Received: from mail-wg0-f52.google.com (HELO mail-wg0-f52.google.com) (74.125.82.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 16 Oct 2014 20:54:53 +0000 Received: by mail-wg0-f52.google.com with SMTP id a1so4602672wgh.35 for ; Thu, 16 Oct 2014 13:54:49 -0700 (PDT) X-Received: by 10.195.13.14 with SMTP id eu14mr4833084wjd.31.1413492889901; Thu, 16 Oct 2014 13:54:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.217.80.73 with HTTP; Thu, 16 Oct 2014 13:54:28 -0700 (PDT) From: =?ISO-8859-1?Q?Manuel_L=F3pez=2DIb=E1=F1ez?= Date: Thu, 16 Oct 2014 20:58:00 -0000 Message-ID: Subject: [PATCH Fortran] rename gfc_warning_cmdline to gfc_warning_now_2 To: Gcc Patch List , "fortran@gcc.gnu.org List" , Tobias Burnus Content-Type: multipart/mixed; boundary=047d7bd920269898930505907529 X-SW-Source: 2014-10/txt/msg01618.txt.bz2 --047d7bd920269898930505907529 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1581 This patch is mostly cleanups, sorry for the churn. The next one will be far more interesting. The next patch in this series will use a function gfc_warning_now_2 that works exactly like gfc_warning_now but uses the common diagnostics machinery. My original idea was that this new function will take an explicit location like the ones in the C FE. However, I realised that this will be too disruptive. At the end, the new gfc_warning_now_2 is actually a duplicate of gfc_warning_cmdline. Thus, this patch renames gfc_warning_cmdline as gfc_warning_now_2 (and the same for the _error_ variants). In addition, I add more uses of the "new" function in several new places (places where the name gfc_warning_cmdline does not really make sense). This patch also cleans up the trailing space when building the locus and adds the space only when needed (to separate locus and prefix). Boot®tested on x86_64-linux-gnu. OK? gcc/fortran/ChangeLog: 2014-10-16 Manuel L=F3pez-Ib=E1=F1ez PR fortran/44054 * gfortran.h (gfc_warning_cmdline): Rename as gfc_warning_now_2. (gfc_error_cmdline): Rename as gfc_error_now_2. * error.c (gfc_diagnostic_build_locus_prefix): Remove trailing space. (gfc_diagnostic_starter): Add space between locus and prefix. (gfc_warning_now_2): Renamed from gfc_warning_cmdline. (gfc_error_now_2): Renamed from gfc_error_cmdline. * scanner.c (add_path_to_list): Use gfc_warning_now_2. (load_line): Likewise. (load_file): Likewise. * options.c (gfc_post_options): Update all renamed functions. --047d7bd920269898930505907529 Content-Type: text/plain; charset=US-ASCII; name="fortran-diagnostics-4.diff" Content-Disposition: attachment; filename="fortran-diagnostics-4.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i1cl4nvt0 Content-length: 13469 SW5kZXg6IGdjYy9mb3J0cmFuL2dmb3J0cmFuLmgKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZ2NjL2ZvcnRyYW4vZ2ZvcnRyYW4uaAkocmV2aXNpb24g MjE2MjM0KQorKysgZ2NjL2ZvcnRyYW4vZ2ZvcnRyYW4uaAkod29ya2luZyBj b3B5KQpAQCAtMjY5NiwxOSArMjY5NiwxOSBAQCB2b2lkIGdmY19idWZmZXJf ZXJyb3IgKGludCk7CiAKIGNvbnN0IGNoYXIgKmdmY19wcmludF93aWRlX2No YXIgKGdmY19jaGFyX3QpOwogCiB2b2lkIGdmY193YXJuaW5nIChjb25zdCBj aGFyICosIC4uLikgQVRUUklCVVRFX0dDQ19HRkMoMSwyKTsKIHZvaWQgZ2Zj X3dhcm5pbmdfbm93IChjb25zdCBjaGFyICosIC4uLikgQVRUUklCVVRFX0dD Q19HRkMoMSwyKTsKLWJvb2wgZ2ZjX3dhcm5pbmdfY21kbGluZSAoY29uc3Qg Y2hhciAqZ21zZ2lkLCAuLi4pIEFUVFJJQlVURV9HQ0NfR0ZDKDEsMik7Ci1i b29sIGdmY193YXJuaW5nX2NtZGxpbmUgKGludCBvcHQsIGNvbnN0IGNoYXIg Kmdtc2dpZCwgLi4uKSBBVFRSSUJVVEVfR0NDX0dGQygyLDMpOworYm9vbCBn ZmNfd2FybmluZ19ub3dfMiAoY29uc3QgY2hhciAqZ21zZ2lkLCAuLi4pIEFU VFJJQlVURV9HQ0NfR0ZDKDEsMik7Citib29sIGdmY193YXJuaW5nX25vd18y IChpbnQgb3B0LCBjb25zdCBjaGFyICpnbXNnaWQsIC4uLikgQVRUUklCVVRF X0dDQ19HRkMoMiwzKTsKIAogdm9pZCBnZmNfY2xlYXJfd2FybmluZyAodm9p ZCk7CiB2b2lkIGdmY193YXJuaW5nX2NoZWNrICh2b2lkKTsKIAogdm9pZCBn ZmNfZXJyb3IgKGNvbnN0IGNoYXIgKiwgLi4uKSBBVFRSSUJVVEVfR0NDX0dG QygxLDIpOwotdm9pZCBnZmNfZXJyb3JfY21kbGluZSAoY29uc3QgY2hhciAq Z21zZ2lkLCAuLi4pIEFUVFJJQlVURV9HQ0NfR0ZDKDEsMik7CiB2b2lkIGdm Y19lcnJvcl9ub3cgKGNvbnN0IGNoYXIgKiwgLi4uKSBBVFRSSUJVVEVfR0ND X0dGQygxLDIpOwordm9pZCBnZmNfZXJyb3Jfbm93XzIgKGNvbnN0IGNoYXIg Kmdtc2dpZCwgLi4uKSBBVFRSSUJVVEVfR0NDX0dGQygxLDIpOwogdm9pZCBn ZmNfZmF0YWxfZXJyb3IgKGNvbnN0IGNoYXIgKiwgLi4uKSBBVFRSSUJVVEVf Tk9SRVRVUk4gQVRUUklCVVRFX0dDQ19HRkMoMSwyKTsKIHZvaWQgZ2ZjX2lu dGVybmFsX2Vycm9yIChjb25zdCBjaGFyICosIC4uLikgQVRUUklCVVRFX05P UkVUVVJOIEFUVFJJQlVURV9HQ0NfR0ZDKDEsMik7CiB2b2lkIGdmY19jbGVh cl9lcnJvciAodm9pZCk7CiBpbnQgZ2ZjX2Vycm9yX2NoZWNrICh2b2lkKTsK IGludCBnZmNfZXJyb3JfZmxhZ190ZXN0ICh2b2lkKTsKSW5kZXg6IGdjYy9m b3J0cmFuL2Vycm9yLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2Nj L2ZvcnRyYW4vZXJyb3IuYwkocmV2aXNpb24gMjE2MjM0KQorKysgZ2NjL2Zv cnRyYW4vZXJyb3IuYwkod29ya2luZyBjb3B5KQpAQCAtMTAwMiwxNyArMTAw MiwxNyBAQCBnZmNfZGlhZ25vc3RpY19idWlsZF9sb2N1c19wcmVmaXggKGRp YWduCiAgIGV4cGFuZGVkX2xvY2F0aW9uIHMgPSBleHBhbmRfbG9jYXRpb25f dG9fc3BlbGxpbmdfcG9pbnQgKGRpYWdub3N0aWMtPmxvY2F0aW9uKTsKICAg aWYgKGRpYWdub3N0aWMtPm92ZXJyaWRlX2NvbHVtbikKICAgICBzLmNvbHVt biA9IGRpYWdub3N0aWMtPm92ZXJyaWRlX2NvbHVtbjsKIAogICByZXR1cm4g KHMuZmlsZSA9PSBOVUxMCi0JICA/IGJ1aWxkX21lc3NhZ2Vfc3RyaW5nICgi JXMlczolcyAiLCBsb2N1c19jcywgcHJvZ25hbWUsIGxvY3VzX2NlICkKKwkg ID8gYnVpbGRfbWVzc2FnZV9zdHJpbmcgKCIlcyVzOiVzIiwgbG9jdXNfY3Ms IHByb2duYW1lLCBsb2N1c19jZSApCiAJICA6ICFzdHJjbXAgKHMuZmlsZSwg Tl8oIjxidWlsdC1pbj4iKSkKLQkgID8gYnVpbGRfbWVzc2FnZV9zdHJpbmcg KCIlcyVzOiVzICIsIGxvY3VzX2NzLCBzLmZpbGUsIGxvY3VzX2NlKQorCSAg PyBidWlsZF9tZXNzYWdlX3N0cmluZyAoIiVzJXM6JXMiLCBsb2N1c19jcywg cy5maWxlLCBsb2N1c19jZSkKIAkgIDogY29udGV4dC0+c2hvd19jb2x1bW4K LQkgID8gYnVpbGRfbWVzc2FnZV9zdHJpbmcgKCIlcyVzOiVkOiVkOiVzICIs IGxvY3VzX2NzLCBzLmZpbGUsIHMubGluZSwKKwkgID8gYnVpbGRfbWVzc2Fn ZV9zdHJpbmcgKCIlcyVzOiVkOiVkOiVzIiwgbG9jdXNfY3MsIHMuZmlsZSwg cy5saW5lLAogCQkJCSAgcy5jb2x1bW4sIGxvY3VzX2NlKQotCSAgOiBidWls ZF9tZXNzYWdlX3N0cmluZyAoIiVzJXM6JWQ6JXMgIiwgbG9jdXNfY3MsIHMu ZmlsZSwgcy5saW5lLCBsb2N1c19jZSkpOworCSAgOiBidWlsZF9tZXNzYWdl X3N0cmluZyAoIiVzJXM6JWQ6JXMiLCBsb2N1c19jcywgcy5maWxlLCBzLmxp bmUsIGxvY3VzX2NlKSk7CiB9CiAKIHN0YXRpYyB2b2lkCiBnZmNfZGlhZ25v c3RpY19zdGFydGVyIChkaWFnbm9zdGljX2NvbnRleHQgKmNvbnRleHQsCiAJ CQlkaWFnbm9zdGljX2luZm8gKmRpYWdub3N0aWMpCkBAIC0xMDM2LDExICsx MDM2LDExIEBAIGdmY19kaWFnbm9zdGljX3N0YXJ0ZXIgKGRpYWdub3N0aWNf Y29udGUKICAgICB9CiAgIGVsc2UgCiAgICAgewogICAgICAgLyogT3RoZXJ3 aXNlLCBzdGFydCBhZ2Fpbi4gICovCiAgICAgICBwcF9jbGVhcl9vdXRwdXRf YXJlYShjb250ZXh0LT5wcmludGVyKTsKLSAgICAgIHBwX3NldF9wcmVmaXgg KGNvbnRleHQtPnByaW50ZXIsIGNvbmNhdCAobG9jdXNfcHJlZml4LCBwcmVm aXgsIE5VTEwpKTsKKyAgICAgIHBwX3NldF9wcmVmaXggKGNvbnRleHQtPnBy aW50ZXIsIGNvbmNhdCAobG9jdXNfcHJlZml4LCAiICIsIHByZWZpeCwgTlVM TCkpOwogICAgICAgZnJlZSAocHJlZml4KTsKICAgICB9CiAgIGZyZWUgKGxv Y3VzX3ByZWZpeCk7CiB9CiAKQEAgLTEwNTAsMTQgKzEwNTAsMTQgQEAgZ2Zj X2RpYWdub3N0aWNfZmluYWxpemVyIChkaWFnbm9zdGljX2NvbgogewogICBw cF9kZXN0cm95X3ByZWZpeCAoY29udGV4dC0+cHJpbnRlcik7CiAgIHBwX25l d2xpbmVfYW5kX2ZsdXNoIChjb250ZXh0LT5wcmludGVyKTsKIH0KIAotLyog R2l2ZSBhIHdhcm5pbmcgYWJvdXQgdGhlIGNvbW1hbmQtbGluZS4gICovCisv KiBJbW1lZGlhdGUgd2FybmluZyAoaS5lLiBkbyBub3QgYnVmZmVyIHRoZSB3 YXJuaW5nKS4gICovCiAKIGJvb2wKLWdmY193YXJuaW5nX2NtZGxpbmUgKGlu dCBvcHQsIGNvbnN0IGNoYXIgKmdtc2dpZCwgLi4uKQorZ2ZjX3dhcm5pbmdf bm93XzIgKGludCBvcHQsIGNvbnN0IGNoYXIgKmdtc2dpZCwgLi4uKQogewog ICB2YV9saXN0IGFyZ3A7CiAgIGRpYWdub3N0aWNfaW5mbyBkaWFnbm9zdGlj OwogICBib29sIHJldDsKIApAQCAtMTA2OCwxNSArMTA2OCwxNCBAQCBnZmNf d2FybmluZ19jbWRsaW5lIChpbnQgb3B0LCBjb25zdCBjaGFyCiAgIHJldCA9 IHJlcG9ydF9kaWFnbm9zdGljICgmZGlhZ25vc3RpYyk7CiAgIHZhX2VuZCAo YXJncCk7CiAgIHJldHVybiByZXQ7CiB9CiAKLQotLyogR2l2ZSBhIHdhcm5p bmcgYWJvdXQgdGhlIGNvbW1hbmQtbGluZS4gICovCisvKiBJbW1lZGlhdGUg d2FybmluZyAoaS5lLiBkbyBub3QgYnVmZmVyIHRoZSB3YXJuaW5nKS4gICov CiAKIGJvb2wKLWdmY193YXJuaW5nX2NtZGxpbmUgKGNvbnN0IGNoYXIgKmdt c2dpZCwgLi4uKQorZ2ZjX3dhcm5pbmdfbm93XzIgKGNvbnN0IGNoYXIgKmdt c2dpZCwgLi4uKQogewogICB2YV9saXN0IGFyZ3A7CiAgIGRpYWdub3N0aWNf aW5mbyBkaWFnbm9zdGljOwogICBib29sIHJldDsKIApAQCAtMTA4NywxNCAr MTA4NiwxNCBAQCBnZmNfd2FybmluZ19jbWRsaW5lIChjb25zdCBjaGFyICpn bXNnaWQsCiAgIHZhX2VuZCAoYXJncCk7CiAgIHJldHVybiByZXQ7CiB9CiAK IAotLyogR2l2ZSBhbiBlcnJvciBhYm91dCB0aGUgY29tbWFuZC1saW5lLiAg Ki8KKy8qIEltbWVkaWF0ZSBlcnJvciAoaS5lLiBkbyBub3QgYnVmZmVyKS4g ICovCiAKIHZvaWQKLWdmY19lcnJvcl9jbWRsaW5lIChjb25zdCBjaGFyICpn bXNnaWQsIC4uLikKK2dmY19lcnJvcl9ub3dfMiAoY29uc3QgY2hhciAqZ21z Z2lkLCAuLi4pCiB7CiAgIHZhX2xpc3QgYXJncDsKICAgZGlhZ25vc3RpY19p bmZvIGRpYWdub3N0aWM7CiAKICAgdmFfc3RhcnQgKGFyZ3AsIGdtc2dpZCk7 CkluZGV4OiBnY2MvZm9ydHJhbi9zY2FubmVyLmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZ2NjL2ZvcnRyYW4vc2Nhbm5lci5jCShyZXZpc2lvbiAy MTYyMzQpCisrKyBnY2MvZm9ydHJhbi9zY2FubmVyLmMJKHdvcmtpbmcgY29w eSkKQEAgLTMyMiwyMCArMzIyLDIwIEBAIGFkZF9wYXRoX3RvX2xpc3QgKGdm Y19kaXJlY3RvcnlsaXN0ICoqbGkKICAgICBxW2ktLV0gPSAnXDAnOwogCiAg IGlmIChzdGF0IChxLCAmc3QpKQogICAgIHsKICAgICAgIGlmIChlcnJubyAh PSBFTk9FTlQpCi0JZ2ZjX3dhcm5pbmdfY21kbGluZSAoIkluY2x1ZGUgZGly ZWN0b3J5ICVxczogJXMiLCBwYXRoLAotCQkJICAgICB4c3RyZXJyb3IoZXJy bm8pKTsKKwlnZmNfd2FybmluZ19ub3dfMiAoIkluY2x1ZGUgZGlyZWN0b3J5 ICVxczogJXMiLCBwYXRoLAorCQkJICAgeHN0cmVycm9yKGVycm5vKSk7CiAg ICAgICBlbHNlIGlmICh3YXJuKQotCWdmY193YXJuaW5nX2NtZGxpbmUgKE9Q VF9XbWlzc2luZ19pbmNsdWRlX2RpcnMsCi0JCQkgICAgICJOb25leGlzdGVu dCBpbmNsdWRlIGRpcmVjdG9yeSAlcXMiLCBwYXRoKTsKKwlnZmNfd2Fybmlu Z19ub3dfMiAoT1BUX1dtaXNzaW5nX2luY2x1ZGVfZGlycywKKwkJCSAgICJO b25leGlzdGVudCBpbmNsdWRlIGRpcmVjdG9yeSAlcXMiLCBwYXRoKTsKICAg ICAgIHJldHVybjsKICAgICB9CiAgIGVsc2UgaWYgKCFTX0lTRElSIChzdC5z dF9tb2RlKSkKICAgICB7Ci0gICAgICBnZmNfd2FybmluZ19jbWRsaW5lICgi JXFzIGlzIG5vdCBhIGRpcmVjdG9yeSIsIHBhdGgpOworICAgICAgZ2ZjX3dh cm5pbmdfbm93XzIgKCIlcXMgaXMgbm90IGEgZGlyZWN0b3J5IiwgcGF0aCk7 CiAgICAgICByZXR1cm47CiAgICAgfQogCiAgIGlmIChoZWFkIHx8ICpsaXN0 ID09IE5VTEwpCiAgICAgewpAQCAtMTQ3NCwxNSArMTQ3NCwxNSBAQCBsb2Fk X2xpbmUgKEZJTEUgKmlucHV0LCBnZmNfY2hhcl90ICoqcGJ1CiAJICAvKiBD aGVjayBmb3IgaWxsZWdhbCB1c2Ugb2YgYW1wZXJzYW5kLiBTZWUgRjk1IFN0 YW5kYXJkIDMuMy4xLjMuICAqLwogCSAgaWYgKGdmY19jdXJyZW50X2Zvcm0g PT0gRk9STV9GUkVFIAogCSAgICAgICYmICFzZWVuX3ByaW50YWJsZSAmJiBz ZWVuX2FtcGVyc2FuZCkKIAkgICAgewogCSAgICAgIGlmIChwZWRhbnRpYykK LQkJZ2ZjX2Vycm9yX25vdyAoIicmJyBub3QgYWxsb3dlZCBieSBpdHNlbGYg aW4gbGluZSAlZCIsCi0JCQkgICAgICAgY3VycmVudF9saW5lKTsKKwkJZ2Zj X2Vycm9yX25vd18yICgiJTwmJT4gbm90IGFsbG93ZWQgYnkgaXRzZWxmIGlu IGxpbmUgJWQiLAorCQkJCSAgIGN1cnJlbnRfbGluZSk7CiAJICAgICAgZWxz ZQotCQlnZmNfd2FybmluZ19ub3cgKCInJicgbm90IGFsbG93ZWQgYnkgaXRz ZWxmIGluIGxpbmUgJWQiLAotCQkJCSBjdXJyZW50X2xpbmUpOworCQlnZmNf d2FybmluZ19ub3dfMiAoIiU8JiU+IG5vdCBhbGxvd2VkIGJ5IGl0c2VsZiBp biBsaW5lICVkIiwKKwkJCQkgICAgIGN1cnJlbnRfbGluZSk7CiAJICAgIH0K IAkgIGJyZWFrOwogCX0KIAogICAgICAgaWYgKGMgPT0gJ1xyJyB8fCBjID09 ICdcMCcpCkBAIC0xNTM2LDEyICsxNTM2LDEyIEBAIGxvYWRfbGluZSAoRklM RSAqaW5wdXQsIGdmY19jaGFyX3QgKipwYnUKIAogCSAgaWYgKCFnZmNfb3B0 aW9uLndhcm5fdGFicyAmJiBzZWVuX2NvbW1lbnQgPT0gMAogCSAgICAgICYm IGN1cnJlbnRfbGluZSAhPSBsaW5lbnVtKQogCSAgICB7CiAJICAgICAgbGlu ZW51bSA9IGN1cnJlbnRfbGluZTsKLQkgICAgICBnZmNfd2FybmluZ19ub3cg KCJOb25jb25mb3JtaW5nIHRhYiBjaGFyYWN0ZXIgaW4gY29sdW1uICVkICIK LQkJCSAgICAgICAib2YgbGluZSAlZCIsIGkrMSwgbGluZW51bSk7CisJICAg ICAgZ2ZjX3dhcm5pbmdfbm93XzIgKCJOb25jb25mb3JtaW5nIHRhYiBjaGFy YWN0ZXIgaW4gY29sdW1uICVkICIKKwkJCQkgICAib2YgbGluZSAlZCIsIGkr MSwgbGluZW51bSk7CiAJICAgIH0KIAogCSAgd2hpbGUgKGkgPCA2KQogCSAg ICB7CiAJICAgICAgKmJ1ZmZlcisrID0gJyAnOwpAQCAtMTkyMCwxMSArMTky MCwxMSBAQCBsb2FkX2ZpbGUgKGNvbnN0IGNoYXIgKnJlYWxmaWxlbmFtZSwg Y29uCiAJfQogICAgICAgZWxzZQogCWlucHV0ID0gZ2ZjX29wZW5fZmlsZSAo cmVhbGZpbGVuYW1lKTsKICAgICAgIGlmIChpbnB1dCA9PSBOVUxMKQogCXsK LQkgIGdmY19lcnJvcl9jbWRsaW5lICgiQ2FuJ3Qgb3BlbiBmaWxlICVxcyIs IGZpbGVuYW1lKTsKKwkgIGdmY19lcnJvcl9ub3dfMiAoIkNhbid0IG9wZW4g ZmlsZSAlcXMiLCBmaWxlbmFtZSk7CiAJICByZXR1cm4gZmFsc2U7CiAJfQog ICAgIH0KICAgZWxzZQogICAgIHsKSW5kZXg6IGdjYy9mb3J0cmFuL29wdGlv bnMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvZm9ydHJhbi9v cHRpb25zLmMJKHJldmlzaW9uIDIxNjIzNCkKKysrIGdjYy9mb3J0cmFuL29w dGlvbnMuYwkod29ya2luZyBjb3B5KQpAQCAtMzYwLDI0ICszNjAsMjQgQEAg Z2ZjX3Bvc3Rfb3B0aW9ucyAoY29uc3QgY2hhciAqKnBmaWxlbmFtZQogICAg ICAgZ2ZjX2N1cnJlbnRfZm9ybSA9IGZvcm1fZnJvbV9maWxlbmFtZSAoZmls ZW5hbWUpOwogCiAgICAgICBpZiAoZ2ZjX2N1cnJlbnRfZm9ybSA9PSBGT1JN X1VOS05PV04pCiAJewogCSAgZ2ZjX2N1cnJlbnRfZm9ybSA9IEZPUk1fRlJF RTsKLQkgIGdmY193YXJuaW5nX2NtZGxpbmUgKCJSZWFkaW5nIGZpbGUgJXFz IGFzIGZyZWUgZm9ybSIsIAotCQkJICAgICAgIChmaWxlbmFtZVswXSA9PSAn XDAnKSA/ICI8c3RkaW4+IiA6IGZpbGVuYW1lKTsKKwkgIGdmY193YXJuaW5n X25vd18yICgiUmVhZGluZyBmaWxlICVxcyBhcyBmcmVlIGZvcm0iLCAKKwkJ CSAgICAgKGZpbGVuYW1lWzBdID09ICdcMCcpID8gIjxzdGRpbj4iIDogZmls ZW5hbWUpOwogCX0KICAgICB9CiAKICAgLyogSWYgdGhlIHVzZXIgc3BlY2lm aWVkIC1mZC1saW5lcy1hcy17Y29kZXxjb21tZW50c30gdmVyaWZ5IHRoYXQg d2UncmUKICAgICAgaW4gZml4ZWQgZm9ybS4gICovCiAgIGlmIChnZmNfY3Vy cmVudF9mb3JtID09IEZPUk1fRlJFRSkKICAgICB7CiAgICAgICBpZiAoZ2Zj X29wdGlvbi5mbGFnX2RfbGluZXMgPT0gMCkKLQlnZmNfd2FybmluZ19jbWRs aW5lICgiJTwtZmQtbGluZXMtYXMtY29tbWVudHMlPiBoYXMgbm8gZWZmZWN0 ICIKLQkJCSAgICAgImluIGZyZWUgZm9ybSIpOworCWdmY193YXJuaW5nX25v d18yICgiJTwtZmQtbGluZXMtYXMtY29tbWVudHMlPiBoYXMgbm8gZWZmZWN0 ICIKKwkJCSAgICJpbiBmcmVlIGZvcm0iKTsKICAgICAgIGVsc2UgaWYgKGdm Y19vcHRpb24uZmxhZ19kX2xpbmVzID09IDEpCi0JZ2ZjX3dhcm5pbmdfY21k bGluZSAoIiU8LWZkLWxpbmVzLWFzLWNvZGUlPiBoYXMgbm8gZWZmZWN0IGlu IGZyZWUgZm9ybSIpOworCWdmY193YXJuaW5nX25vd18yICgiJTwtZmQtbGlu ZXMtYXMtY29kZSU+IGhhcyBubyBlZmZlY3QgaW4gZnJlZSBmb3JtIik7CiAg ICAgfQogCiAgIC8qIElmIC1wZWRhbnRpYywgd2FybiBhYm91dCB0aGUgdXNl IG9mIEdOVSBleHRlbnNpb25zLiAgKi8KICAgaWYgKHBlZGFudGljICYmIChn ZmNfb3B0aW9uLmFsbG93X3N0ZCAmIEdGQ19TVERfR05VKSAhPSAwKQogICAg IGdmY19vcHRpb24ud2Fybl9zdGQgfD0gR0ZDX1NURF9HTlU7CkBAIC0zOTEs MjUgKzM5MSwyNSBAQCBnZmNfcG9zdF9vcHRpb25zIChjb25zdCBjaGFyICoq cGZpbGVuYW1lCiAgIGlmIChnZmNfb3B0aW9uLmZsYWdfc2Vjb25kX3VuZGVy c2NvcmUgPT0gLTEpCiAgICAgZ2ZjX29wdGlvbi5mbGFnX3NlY29uZF91bmRl cnNjb3JlID0gZ2ZjX29wdGlvbi5mbGFnX2YyYzsKIAogICBpZiAoIWdmY19v cHRpb24uZmxhZ19hdXRvbWF0aWMgJiYgZ2ZjX29wdGlvbi5mbGFnX21heF9z dGFja192YXJfc2l6ZSAhPSAtMgogICAgICAgJiYgZ2ZjX29wdGlvbi5mbGFn X21heF9zdGFja192YXJfc2l6ZSAhPSAwKQotICAgIGdmY193YXJuaW5nX2Nt ZGxpbmUgKCJGbGFnICU8LWZuby1hdXRvbWF0aWMlPiBvdmVyd3JpdGVzICU8 LWZtYXgtc3RhY2stdmFyLXNpemU9JWQlPiIsCi0JCQkgZ2ZjX29wdGlvbi5m bGFnX21heF9zdGFja192YXJfc2l6ZSk7CisgICAgZ2ZjX3dhcm5pbmdfbm93 XzIgKCJGbGFnICU8LWZuby1hdXRvbWF0aWMlPiBvdmVyd3JpdGVzICU8LWZt YXgtc3RhY2stdmFyLXNpemU9JWQlPiIsCisJCSAgICAgICBnZmNfb3B0aW9u LmZsYWdfbWF4X3N0YWNrX3Zhcl9zaXplKTsKICAgZWxzZSBpZiAoIWdmY19v cHRpb24uZmxhZ19hdXRvbWF0aWMgJiYgZ2ZjX29wdGlvbi5mbGFnX3JlY3Vy c2l2ZSkKLSAgICBnZmNfd2FybmluZ19jbWRsaW5lICgiRmxhZyAlPC1mbm8t YXV0b21hdGljJT4gb3ZlcndyaXRlcyAlPC1mcmVjdXJzaXZlJT4iKTsKKyAg ICBnZmNfd2FybmluZ19ub3dfMiAoIkZsYWcgJTwtZm5vLWF1dG9tYXRpYyU+ IG92ZXJ3cml0ZXMgJTwtZnJlY3Vyc2l2ZSU+Iik7CiAgIGVsc2UgaWYgKCFn ZmNfb3B0aW9uLmZsYWdfYXV0b21hdGljICYmIGdmY19vcHRpb24uZ2ZjX2Zs YWdfb3Blbm1wKQotICAgIGdmY193YXJuaW5nX2NtZGxpbmUgKCJGbGFnICU8 LWZuby1hdXRvbWF0aWMlPiBvdmVyd3JpdGVzICU8LWZyZWN1cnNpdmUlPiBp bXBsaWVkIGJ5ICIKLQkJCSAiJTwtZm9wZW5tcCU+Iik7CisgICAgZ2ZjX3dh cm5pbmdfbm93XzIgKCJGbGFnICU8LWZuby1hdXRvbWF0aWMlPiBvdmVyd3Jp dGVzICU8LWZyZWN1cnNpdmUlPiBpbXBsaWVkIGJ5ICIKKwkJICAgICAgICIl PC1mb3Blbm1wJT4iKTsKICAgZWxzZSBpZiAoZ2ZjX29wdGlvbi5mbGFnX21h eF9zdGFja192YXJfc2l6ZSAhPSAtMgogCSAgICYmIGdmY19vcHRpb24uZmxh Z19yZWN1cnNpdmUpCi0gICAgZ2ZjX3dhcm5pbmdfY21kbGluZSAoIkZsYWcg JTwtZnJlY3Vyc2l2ZSU+IG92ZXJ3cml0ZXMgJTwtZm1heC1zdGFjay12YXIt c2l6ZT0lZCU+IiwKLQkJCSBnZmNfb3B0aW9uLmZsYWdfbWF4X3N0YWNrX3Zh cl9zaXplKTsKKyAgICBnZmNfd2FybmluZ19ub3dfMiAoIkZsYWcgJTwtZnJl Y3Vyc2l2ZSU+IG92ZXJ3cml0ZXMgJTwtZm1heC1zdGFjay12YXItc2l6ZT0l ZCU+IiwKKwkJICAgICAgIGdmY19vcHRpb24uZmxhZ19tYXhfc3RhY2tfdmFy X3NpemUpOwogICBlbHNlIGlmIChnZmNfb3B0aW9uLmZsYWdfbWF4X3N0YWNr X3Zhcl9zaXplICE9IC0yCiAJICAgJiYgZ2ZjX29wdGlvbi5nZmNfZmxhZ19v cGVubXApCi0gICAgZ2ZjX3dhcm5pbmdfY21kbGluZSAoIkZsYWcgJTwtZm1h eC1zdGFjay12YXItc2l6ZT0lZCU+IG92ZXJ3cml0ZXMgJTwtZnJlY3Vyc2l2 ZSU+ICIKLQkJCSAiaW1wbGllZCBieSAlPC1mb3Blbm1wJT4iLCAKKyAgICBn ZmNfd2FybmluZ19ub3dfMiAoIkZsYWcgJTwtZm1heC1zdGFjay12YXItc2l6 ZT0lZCU+IG92ZXJ3cml0ZXMgJTwtZnJlY3Vyc2l2ZSU+ICIKKwkJICAgICAg ICJpbXBsaWVkIGJ5ICU8LWZvcGVubXAlPiIsIAogCQkgICAgIGdmY19vcHRp b24uZmxhZ19tYXhfc3RhY2tfdmFyX3NpemUpOwogCiAgIC8qIEltcGxlbWVu dCAtZnJlY3Vyc2l2ZSBhcyAtZm1heC1zdGFjay12YXItc2l6ZT0tMS4gICov CiAgIGlmIChnZmNfb3B0aW9uLmZsYWdfcmVjdXJzaXZlKQogICAgIGdmY19v cHRpb24uZmxhZ19tYXhfc3RhY2tfdmFyX3NpemUgPSAtMTsK --047d7bd920269898930505907529--