From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15547 invoked by alias); 4 Nov 2009 11:07:12 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 27347 Received: (qmail 2728 invoked from network); 4 Nov 2009 11:07:09 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.google.com designates 209.85.219.209 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=WYJn4+uN1Ex3b8/wdhGURBb6gtnGLM85lXBQ8SWWmBo=; b=UUwe9fWmphcHXu9jhkyyrFy4NOaNPElsvTBINfXHLc3rN/u3NgzJQSaczhz/Kl+gSH AmDKzqdEIP8hWlE++3nbNeO5bWHXiB1yN18Kr46WqUQYMjOLAaVOQYYHokKEi5LANhTq gBZCKrNHgH+PFv5LxLAxxjk8EGfntgbUvfTJk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=QUBZzaN3WIlsIQEYewiCHXMvjpNhvgkcZcZTzTX57VHp0jouEYG/p7ZPGpHX3ZpG82 +mfiLLO5Wi2HTNiMf/4TOj4tBkB4uhmJ4l8J0+8IdKTkILtxrrqhn5EwrVbAB5w9ZMn6 XVTJ4wSTaxTEurndinEt+2HezKncXJ8/mfB98= MIME-Version: 1.0 In-Reply-To: <20091104104844.0cce9945@news01> References: <20090303121253.61f5e2ec@news01> <20090303163526.533995be@news01> <237967ef0903030851gc26620ficfc908628a4b3be2@mail.gmail.com> <20091104104844.0cce9945@news01> Date: Wed, 4 Nov 2009 12:01:08 +0100 Message-ID: <237967ef0911040301y4370b475p61518d9609764acf@mail.gmail.com> Subject: Re: [PATCH 1/4] attr: add -h option to operate on symlinks without dereferencing From: Mikael Magnusson To: Peter Stephenson Cc: zsh workers Content-Type: multipart/mixed; boundary=001636e0ba2f2621ce0477898795 --001636e0ba2f2621ce0477898795 Content-Type: text/plain; charset=UTF-8 2009/11/4 Peter Stephenson : > On Tue, 3 Nov 2009 19:55:33 +0100 (CET) > Mikael Magnusson wrote: >> Since the OSX-style interface doesn't have the l* family, make wrapper >> functions that handle the boring details. > > None of the hunks in any of the patches apply. It's possible the white > space got scrwed up. You can mail a complete diff as an attachment if you > like (I don't see any particular need to apply the four separately). I only had a small hope it would work... oh well :). In the attached patch I also added 2> /dev/null to zlistattr in the completer. -- Mikael Magnusson --001636e0ba2f2621ce0477898795 Content-Type: text/x-patch; charset=US-ASCII; name="attr.diff" Content-Disposition: attachment; filename="attr.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g1lz5ewa0 ZGlmZiAtLWdpdCBhL0NvbXBsZXRpb24vWnNoL0NvbW1hbmQvX3phdHRyIGIvQ29tcGxldGlvbi9a c2gvQ29tbWFuZC9femF0dHIKaW5kZXggNTZjNzU0Yi4uY2RjNTIyOCAxMDA2NDQKLS0tIGEvQ29t cGxldGlvbi9ac2gvQ29tbWFuZC9femF0dHIKKysrIGIvQ29tcGxldGlvbi9ac2gvQ29tbWFuZC9f emF0dHIKQEAgLTI5LDYgKzI5LDYgQEAgX2FyZ3VtZW50cyBcCiBlc2FjCiAKIGlmIFtbICRzdGF0 ZSA9IGF0dHJzIF1dOyB0aGVuCi0gIHpsaXN0YXR0ciAkfmxpbmVbMV0gUkVQTFkKLSAgX3dhbnRl ZCBhdHRycyBleHBsICdhdHRyaWJ1dGUnIGNvbXBhZGQgJHsoMClSRVBMWX0KKyAgemxpc3RhdHRy ICR+bGluZVsxXSBSRVBMWSAyPiAvZGV2L251bGwKKyAgX3dhbnRlZCBhdHRycyBleHBsICdhdHRy aWJ1dGUnIGNvbXBhZGQgJFJFUExZCiBmaQpkaWZmIC0tZ2l0IGEvRG9jL1pzaC9tb2RfYXR0ci55 byBiL0RvYy9ac2gvbW9kX2F0dHIueW8KaW5kZXggZWQ0NDRkMC4uNTE3YmI2MyAxMDA2NDQKLS0t IGEvRG9jL1pzaC9tb2RfYXR0ci55bworKysgYi9Eb2MvWnNoL21vZF9hdHRyLnlvCkBAIC0zMiwz ICszMiw4IEBAIHZhcihmaWxlbmFtZSkuIElmIHRoZSBvcHRpb25hbCBhcmd1bWVudCB2YXIocGFy YW1ldGVyKSBpcyBnaXZlbiwgdGhlCiBsaXN0IG9mIGF0dHJpYnV0ZXMgaXMgc2V0IG9uIHRoYXQg cGFyYW1ldGVyIGluc3RlYWQgb2YgYmVpbmcgcHJpbnRlZCB0byBzdGRvdXQuCiApCiBlbmRpdGVt KCkKKwordHQoemdldGF0dHIpIGFuZCB0dCh6bGlzdGF0dHIpIGFsbG9jYXRlIG1lbW9yeSBkeW5h bWljYWxseS4gSWYgdGhlIGF0dHJpYnV0ZSBvcgorbGlzdCBvZiBhdHRyaWJ1dGVzIGdyb3dzIGJl dHdlZW4gdGhlIGFsbG9jYXRpb24gYW5kIHRoZSBjYWxsIHRvIGdldCB0aGVtLCB0aGV5CityZXR1 cm4gMi4gT24gYWxsIG90aGVyIGVycm9ycywgMSBpcyByZXR1cm5lZC4gVGhpcyB3YXksIHRoZSBj YWxsaW5nIGZ1bmN0aW9uIGNhbgorY2hlY2sgZm9yIHRoaXMgY2FzZSBhbmQgdHJ5IGFnYWluIGZv ciBhcyBsb25nIGFzIHRoZXkgd2FudC4KZGlmZiAtLWdpdCBhL1NyYy9Nb2R1bGVzL2F0dHIuYyBi L1NyYy9Nb2R1bGVzL2F0dHIuYwppbmRleCBlYzNiMWU0Li44OGViYjE2IDEwMDY0NAotLS0gYS9T cmMvTW9kdWxlcy9hdHRyLmMKKysrIGIvU3JjL01vZHVsZXMvYXR0ci5jCkBAIC0zMywxMDIgKzMz LDE5MCBAQAogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUgPHN5cy94YXR0ci5oPgog Ci1zdGF0aWMgaW50Ci1iaW5fZ2V0YXR0cihjaGFyICpuYW0sIGNoYXIgKiphcmd2LCBVTlVTRUQo T3B0aW9ucyBvcHMpLCBVTlVTRUQoaW50IGZ1bmMpKQorc3RhdGljIHNzaXplX3QKK3hnZXR4YXR0 cihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICp2YWx1ZSwgc2l6ZV90 IHNpemUsIGludCBzeW1saW5rKQogewotICAgIGludCByZXQgPSAwOwotICAgIGludCBsZW4sIHNs ZW47Ci0gICAgY2hhciB2YWx1ZVsyNTZdOworI2lmZGVmIFhBVFRSX0VYVFJBX0FSR1MKKyAgICBy ZXR1cm4gZ2V0eGF0dHIocGF0aCwgbmFtZSwgdmFsdWUsIHNpemUsIDAsIHN5bWxpbmsgPyBYQVRU Ul9OT0ZPTExPVzogMCk7CisjZWxzZQorICAgIHN3aXRjaCAoc3ltbGluaykgeworICAgIGNhc2Ug MDoKKyAgICAgICAgcmV0dXJuIGdldHhhdHRyKHBhdGgsIG5hbWUsIHZhbHVlLCBzaXplKTsKKyAg ICBjYXNlIDE6CisgICAgICAgIHJldHVybiBsZ2V0eGF0dHIocGF0aCwgbmFtZSwgdmFsdWUsIHNp emUpOworICAgIH0KKyNlbmRpZgorfQorCitzdGF0aWMgc3NpemVfdAoreGxpc3R4YXR0cihjb25z dCBjaGFyICpwYXRoLCBjaGFyICpsaXN0LCBzaXplX3Qgc2l6ZSwgaW50IHN5bWxpbmspCit7Cisj aWZkZWYgWEFUVFJfRVhUUkFfQVJHUworICAgIHJldHVybiBsaXN0eGF0dHIocGF0aCwgbGlzdCwg c2l6ZSwgc3ltbGluayA/IFhBVFRSX05PRk9MTE9XIDogMCk7CisjZWxzZQorICAgIHN3aXRjaCAo c3ltbGluaykgeworICAgIGNhc2UgMDoKKyAgICAgICAgcmV0dXJuIGxpc3R4YXR0cihwYXRoLCBs aXN0LCBzaXplKTsKKyAgICBjYXNlIDE6CisgICAgICAgIHJldHVybiBsbGlzdHhhdHRyKHBhdGgs IGxpc3QsIHNpemUpOworICAgIH0KKyNlbmRpZgorfQogCi0gICAgdW5tZXRhZnkoKmFyZ3YsICZz bGVuKTsKLSAgICB1bm1ldGFmeSgqKGFyZ3YrMSksIE5VTEwpOwotICAgIGlmIChsaXN0eGF0dHIo KmFyZ3YsIE5VTEwsIDAKK3N0YXRpYyBpbnQKK3hzZXR4YXR0cihjb25zdCBjaGFyICpwYXRoLCBj b25zdCBjaGFyICpuYW1lLCBjb25zdCB2b2lkICp2YWx1ZSwKKyAgICAgICAgICBzaXplX3Qgc2l6 ZSwgaW50IGZsYWdzLCBpbnQgc3ltbGluaykKK3sKICNpZmRlZiBYQVRUUl9FWFRSQV9BUkdTCi0J CSAgLCAwCisgICAgcmV0dXJuIHNldHhhdHRyKHBhdGgsIG5hbWUsIHZhbHVlLCBzaXplLCAwLCBm bGFncyB8IHN5bWxpbmsgPyBYQVRUUl9OT0ZPTExPVyA6IDApOworI2Vsc2UKKyAgICBzd2l0Y2gg KHN5bWxpbmspIHsKKyAgICBjYXNlIDA6CisgICAgICAgIHJldHVybiBzZXR4YXR0cihwYXRoLCBu YW1lLCB2YWx1ZSwgc2l6ZSwgZmxhZ3MpOworICAgIGNhc2UgMToKKyAgICAgICAgcmV0dXJuIGxz ZXR4YXR0cihwYXRoLCBuYW1lLCB2YWx1ZSwgc2l6ZSwgZmxhZ3MpOworICAgIH0KICNlbmRpZgot CQkgICkgPiAwKSB7Ci0gICAgICAgIGlmICgwIDwgKGxlbiA9IGdldHhhdHRyKCphcmd2LCAqKGFy Z3YrMSksIHZhbHVlLCAyNTUKK30KKworc3RhdGljIGludAoreHJlbW92ZXhhdHRyKGNvbnN0IGNo YXIgKnBhdGgsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBzeW1saW5rKQorewogI2lmZGVmIFhBVFRS X0VYVFJBX0FSR1MKLQkJCQksIDAsIDAKKyAgICByZXR1cm4gcmVtb3ZleGF0dHIocGF0aCwgbmFt ZSwgc3ltbGluayA/IFhBVFRSX05PRk9MTE9XIDogMCk7CisjZWxzZQorICAgIHN3aXRjaCAoc3lt bGluaykgeworICAgIGNhc2UgMDoKKyAgICAgICAgcmV0dXJuIHJlbW92ZXhhdHRyKHBhdGgsIG5h bWUpOworICAgIGNhc2UgMToKKyAgICAgICAgcmV0dXJuIGxyZW1vdmV4YXR0cihwYXRoLCBuYW1l KTsKKyAgICB9CiAjZW5kaWYKLQkJCQkpKSkgewotICAgICAgICAgICAgaWYgKGxlbiA8IDI1Nikg ewotICAgICAgICAgICAgICAgIHZhbHVlW2xlbl0gPSAnXDAnOwotICAgICAgICAgICAgICAgIGlm ICgqKGFyZ3YrMikpCi0gICAgICAgICAgICAgICAgICAgIHNldHNwYXJhbSgqKGFyZ3YrMiksIG1l dGFmeSh2YWx1ZSwgbGVuLCBNRVRBX0RVUCkpOworfQorCitzdGF0aWMgaW50CitiaW5fZ2V0YXR0 cihjaGFyICpuYW0sIGNoYXIgKiphcmd2LCBPcHRpb25zIG9wcywgVU5VU0VEKGludCBmdW5jKSkK K3sKKyAgICBpbnQgcmV0ID0gMDsKKyAgICBpbnQgbGlzdF9sZW4sIHZhbF9sZW4sIGF0dHJfbGVu LCBzbGVuOworICAgIGNoYXIgKnZhbHVlLCAqZmlsZSA9IGFyZ3ZbMF0sICphdHRyID0gYXJndlsx XSwgKnBhcmFtID0gYXJndlsyXTsKKyAgICBpbnQgc3ltbGluayA9IE9QVF9JU1NFVChvcHMsICdo Jyk7CisKKyAgICB1bm1ldGFmeShmaWxlLCAmc2xlbik7CisgICAgdW5tZXRhZnkoYXR0ciwgTlVM TCk7CisgICAgbGlzdF9sZW4gPSB4bGlzdHhhdHRyKGZpbGUsIE5VTEwsIDAsIHN5bWxpbmspOwor ICAgIGlmIChsaXN0X2xlbiA+IDApIHsKKyAgICAgICAgdmFsX2xlbiA9IHhnZXR4YXR0cihmaWxl LCBhdHRyLCBOVUxMLCAwLCBzeW1saW5rKTsKKyAgICAgICAgaWYgKHZhbF9sZW4gPT0gMCkgewor ICAgICAgICAgICAgaWYgKHBhcmFtKQorICAgICAgICAgICAgICAgIHVuc2V0cGFyYW0ocGFyYW0p OworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHZhbF9sZW4g PiAwKSB7CisgICAgICAgICAgICB2YWx1ZSA9IChjaGFyICopemFsbG9jKHZhbF9sZW4rMSk7Cisg ICAgICAgICAgICBhdHRyX2xlbiA9IHhnZXR4YXR0cihmaWxlLCBhdHRyLCB2YWx1ZSwgdmFsX2xl biwgc3ltbGluayk7CisgICAgICAgICAgICBpZiAoYXR0cl9sZW4gPiAwICYmIGF0dHJfbGVuIDw9 IHZhbF9sZW4pIHsKKyAgICAgICAgICAgICAgICB2YWx1ZVthdHRyX2xlbl0gPSAnXDAnOworICAg ICAgICAgICAgICAgIGlmIChwYXJhbSkKKyAgICAgICAgICAgICAgICAgICAgc2V0c3BhcmFtKHBh cmFtLCBtZXRhZnkodmFsdWUsIGF0dHJfbGVuLCBNRVRBX0RVUCkpOwogICAgICAgICAgICAgICAg IGVsc2UKICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlc1xuIiwgdmFsdWUpOwogICAgICAg ICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKGxlbiA8IDApIHsKLSAgICAgICAgICAgIHp3YXJu bmFtKG5hbSwgIiVzOiAlZSIsIG1ldGFmeSgqYXJndiwgc2xlbiwgTUVUQV9OT0FMTE9DKSwgZXJy bm8pOwotICAgICAgICAgICAgcmV0ID0gMTsKKyAgICAgICAgICAgIHpmcmVlKHZhbHVlLCB2YWxf bGVuKzEpOwogICAgICAgICB9CiAgICAgfQorICAgIGlmIChsaXN0X2xlbiA8IDAgfHwgdmFsX2xl biA8IDAgfHwgYXR0cl9sZW4gPCAwKSAgeworICAgICAgICB6d2Fybm5hbShuYW0sICIlczogJWUi LCBtZXRhZnkoZmlsZSwgc2xlbiwgTUVUQV9OT0FMTE9DKSwgZXJybm8pOworICAgICAgICByZXQg PSAxICsgKGF0dHJfbGVuID4gdmFsX2xlbik7CisgICAgfQogICAgIHJldHVybiByZXQ7CiB9CiAK IHN0YXRpYyBpbnQKLWJpbl9zZXRhdHRyKGNoYXIgKm5hbSwgY2hhciAqKmFyZ3YsIFVOVVNFRChP cHRpb25zIG9wcyksIFVOVVNFRChpbnQgZnVuYykpCitiaW5fc2V0YXR0cihjaGFyICpuYW0sIGNo YXIgKiphcmd2LCBPcHRpb25zIG9wcywgVU5VU0VEKGludCBmdW5jKSkKIHsKLSAgICBpbnQgcmV0 ID0gMCwgc2xlbjsKKyAgICBpbnQgcmV0ID0gMCwgc2xlbiwgdmxlbjsKKyAgICBpbnQgc3ltbGlu ayA9IE9QVF9JU1NFVChvcHMsICdoJyk7CisgICAgY2hhciAqZmlsZSA9IGFyZ3ZbMF0sICphdHRy ID0gYXJndlsxXSwgKnZhbHVlID0gYXJndlsyXTsKIAotICAgIHVubWV0YWZ5KCphcmd2LCAmc2xl bik7Ci0gICAgdW5tZXRhZnkoKihhcmd2KzEpLCBOVUxMKTsKLSAgICB1bm1ldGFmeSgqKGFyZ3Yr MiksIE5VTEwpOwotICAgIGlmIChzZXR4YXR0cigqYXJndiwgKihhcmd2KzEpLCAqKGFyZ3YrMiks IHN0cmxlbigqKGFyZ3YrMikpLCAwCi0jaWZkZWYgWEFUVFJfRVhUUkFfQVJHUwotCQkJCQkJICAg ICAsIDAKLSNlbmRpZgotCQkgKSkgewotICAgICAgICB6d2Fybm5hbShuYW0sICIlczogJWUiLCBt ZXRhZnkoKmFyZ3YsIHNsZW4sIE1FVEFfTk9BTExPQyksIGVycm5vKTsKKyAgICB1bm1ldGFmeShm aWxlLCAmc2xlbik7CisgICAgdW5tZXRhZnkoYXR0ciwgTlVMTCk7CisgICAgdW5tZXRhZnkodmFs dWUsICZ2bGVuKTsKKyAgICBpZiAoeHNldHhhdHRyKGZpbGUsIGF0dHIsIHZhbHVlLCB2bGVuLCAw LCBzeW1saW5rKSkgeworICAgICAgICB6d2Fybm5hbShuYW0sICIlczogJWUiLCBtZXRhZnkoZmls ZSwgc2xlbiwgTUVUQV9OT0FMTE9DKSwgZXJybm8pOwogICAgICAgICByZXQgPSAxOwogICAgIH0K ICAgICByZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50Ci1iaW5fZGVsYXR0cihjaGFyICpuYW0s IGNoYXIgKiphcmd2LCBVTlVTRUQoT3B0aW9ucyBvcHMpLCBVTlVTRUQoaW50IGZ1bmMpKQorYmlu X2RlbGF0dHIoY2hhciAqbmFtLCBjaGFyICoqYXJndiwgT3B0aW9ucyBvcHMsIFVOVVNFRChpbnQg ZnVuYykpCiB7CiAgICAgaW50IHJldCA9IDAsIHNsZW47CisgICAgaW50IHN5bWxpbmsgPSBPUFRf SVNTRVQob3BzLCAnaCcpOworICAgIGNoYXIgKmZpbGUgPSBhcmd2WzBdLCAqKmF0dHIgPSAmYXJn dlsxXTsKIAotICAgIHVubWV0YWZ5KCphcmd2LCAmc2xlbik7Ci0gICAgdW5tZXRhZnkoKihhcmd2 KzEpLCBOVUxMKTsKLSAgICBpZiAocmVtb3ZleGF0dHIoKmFyZ3YsICooYXJndisxKQotI2lmZGVm IFhBVFRSX0VYVFJBX0FSR1MKLQkJICAgICwgMAotI2VuZGlmCi0JCSAgICApKSB7Ci0gICAgICAg IHp3YXJubmFtKG5hbSwgIiVzOiAlZSIsIG1ldGFmeSgqYXJndiwgc2xlbiwgTUVUQV9OT0FMTE9D KSwgZXJybm8pOwotICAgICAgICByZXQgPSAxOworICAgIHVubWV0YWZ5KGZpbGUsICZzbGVuKTsK KyAgICB3aGlsZSAoKisrYXR0cikgeworICAgICAgICB1bm1ldGFmeSgqYXR0ciwgTlVMTCk7Cisg ICAgICAgIGlmICh4cmVtb3ZleGF0dHIoZmlsZSwgKmF0dHIsIHN5bWxpbmspKSB7CisgICAgICAg ICAgICB6d2Fybm5hbShuYW0sICIlczogJWUiLCBtZXRhZnkoZmlsZSwgc2xlbiwgTUVUQV9OT0FM TE9DKSwgZXJybm8pOworICAgICAgICAgICAgcmV0ID0gMTsKKyAgICAgICAgICAgIGJyZWFrOwor ICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQKLWJpbl9s aXN0YXR0cihjaGFyICpuYW0sIGNoYXIgKiphcmd2LCBVTlVTRUQoT3B0aW9ucyBvcHMpLCBVTlVT RUQoaW50IGZ1bmMpKQorYmluX2xpc3RhdHRyKGNoYXIgKm5hbSwgY2hhciAqKmFyZ3YsIE9wdGlv bnMgb3BzLCBVTlVTRUQoaW50IGZ1bmMpKQogewogICAgIGludCByZXQgPSAwOwotICAgIGludCBs ZW4sIHNsZW47Ci0gICAgY2hhciB2YWx1ZVsyNTZdOworICAgIGludCB2YWxfbGVuLCBsaXN0X2xl biwgc2xlbjsKKyAgICBjaGFyICp2YWx1ZSwgKmZpbGUgPSBhcmd2WzBdLCAqcGFyYW0gPSBhcmd2 WzFdOworICAgIGludCBzeW1saW5rID0gT1BUX0lTU0VUKG9wcywgJ2gnKTsKIAotICAgIHVubWV0 YWZ5KCphcmd2LCAmc2xlbik7Ci0gICAgaWYgKDAgPCAobGVuID0gbGlzdHhhdHRyKCphcmd2LCB2 YWx1ZSwgMjU2Ci0jaWZkZWYgWEFUVFJfRVhUUkFfQVJHUwotCQkgICwgMAotI2VuZGlmCi0JCQkg ICAgICkpKSB7Ci0gICAgICAgIGlmIChsZW4gPCAyNTYpIHsKKyAgICB1bm1ldGFmeShmaWxlLCAm c2xlbik7CisgICAgdmFsX2xlbiA9IHhsaXN0eGF0dHIoZmlsZSwgTlVMTCwgMCwgc3ltbGluayk7 CisgICAgaWYgKHZhbF9sZW4gPT0gMCkgeworICAgICAgICBpZiAocGFyYW0pCisgICAgICAgICAg ICB1bnNldHBhcmFtKHBhcmFtKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIGlmICh2 YWxfbGVuID4gMCkgeworICAgICAgICB2YWx1ZSA9IChjaGFyICopemFsbG9jKHZhbF9sZW4rMSk7 CisgICAgICAgIGxpc3RfbGVuID0geGxpc3R4YXR0cihmaWxlLCB2YWx1ZSwgdmFsX2xlbiwgc3lt bGluayk7CisgICAgICAgIGlmIChsaXN0X2xlbiA+IDAgJiYgbGlzdF9sZW4gPD0gdmFsX2xlbikg ewogICAgICAgICAgICAgY2hhciAqcCA9IHZhbHVlOwotICAgICAgICAgICAgaWYgKCooYXJndisx KSkKLSAgICAgICAgICAgICAgICBzZXRzcGFyYW0oKihhcmd2KzEpLCBtZXRhZnkodmFsdWUsIGxl biwgTUVUQV9EVVApKTsKLSAgICAgICAgICAgIGVsc2Ugd2hpbGUgKHAgPCAmdmFsdWVbbGVuXSkg eworICAgICAgICAgICAgaWYgKHBhcmFtKSB7CisgICAgICAgICAgICAgICAgaWYgKHN0cmxlbih2 YWx1ZSkgKyAxID09IGxpc3RfbGVuKQorICAgICAgICAgICAgICAgICAgICBzZXRzcGFyYW0ocGFy YW0sIG1ldGFmeSh2YWx1ZSwgbGlzdF9sZW4tMSwgTUVUQV9EVVApKTsKKyAgICAgICAgICAgICAg ICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaW50IGFycmxlbiA9IDA7CisgICAgICAgICAg ICAgICAgICAgIGNoYXIgKiphcnJheSA9IE5VTEwsICoqYXJycHRyID0gTlVMTDsKKworICAgICAg ICAgICAgICAgICAgICB3aGlsZSAocCA8ICZ2YWx1ZVtsaXN0X2xlbl0pIHsKKyAgICAgICAgICAg ICAgICAgICAgICAgIGFycmxlbisrOworICAgICAgICAgICAgICAgICAgICAgICAgcCArPSBzdHJs ZW4ocCkgKyAxOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGFy cnB0ciA9IGFycmF5ID0gKGNoYXIgKiopenNoY2FsbG9jKChhcnJsZW4rMSkgKiBzaXplb2YoY2hh ciAqKSk7CisgICAgICAgICAgICAgICAgICAgIHAgPSB2YWx1ZTsKKyAgICAgICAgICAgICAgICAg ICAgd2hpbGUgKHAgPCAmdmFsdWVbbGlzdF9sZW5dKSB7CisgICAgICAgICAgICAgICAgICAgICAg ICAqYXJycHRyKysgPSBtZXRhZnkocCwgLTEsIE1FVEFfRFVQKTsKKyAgICAgICAgICAgICAgICAg ICAgICAgIHAgKz0gc3RybGVuKHApICsgMTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg ICAgICAgICAgICAgICBzZXRhcGFyYW0ocGFyYW0sIGFycmF5KTsKKyAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICB9IGVsc2Ugd2hpbGUgKHAgPCAmdmFsdWVbbGlzdF9sZW5dKSB7CiAgICAg ICAgICAgICAgICAgcHJpbnRmKCIlc1xuIiwgcCk7CiAgICAgICAgICAgICAgICAgcCArPSBzdHJs ZW4ocCkgKyAxOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfSBlbHNlIGlmIChsZW4g PCAwKSB7Ci0gICAgICAgIHp3YXJubmFtKG5hbSwgIiVzOiAlZSIsIG1ldGFmeSgqYXJndiwgc2xl biwgTUVUQV9OT0FMTE9DKSwgZXJybm8pOwotICAgICAgICByZXQgPSAxOworICAgICAgICB6ZnJl ZSh2YWx1ZSwgdmFsX2xlbisxKTsKKyAgICB9CisgICAgaWYgKHZhbF9sZW4gPCAwIHx8IGxpc3Rf bGVuIDwgMCkgeworICAgICAgICB6d2Fybm5hbShuYW0sICIlczogJWUiLCBtZXRhZnkoZmlsZSwg c2xlbiwgTUVUQV9OT0FMTE9DKSwgZXJybm8pOworICAgICAgICByZXQgPSAxICsgKGxpc3RfbGVu ID4gdmFsX2xlbik7CiAgICAgfQogICAgIHJldHVybiByZXQ7CiB9CkBAIC0xMzYsMTAgKzIyNCwx MCBAQCBiaW5fbGlzdGF0dHIoY2hhciAqbmFtLCBjaGFyICoqYXJndiwgVU5VU0VEKE9wdGlvbnMg b3BzKSwgVU5VU0VEKGludCBmdW5jKSkKIC8qIG1vZHVsZSBwYXJhcGhlcm5hbGlhICovCiAKIHN0 YXRpYyBzdHJ1Y3QgYnVpbHRpbiBiaW50YWJbXSA9IHsKLSAgICBCVUlMVElOKCJ6Z2V0YXR0ciIs IDAsIGJpbl9nZXRhdHRyLCAyLCAzLCAwLCBOVUxMLCBOVUxMKSwKLSAgICBCVUlMVElOKCJ6c2V0 YXR0ciIsIDAsIGJpbl9zZXRhdHRyLCAzLCAzLCAwLCBOVUxMLCBOVUxMKSwKLSAgICBCVUlMVElO KCJ6ZGVsYXR0ciIsIDAsIGJpbl9kZWxhdHRyLCAyLCAyLCAwLCBOVUxMLCBOVUxMKSwKLSAgICBC VUlMVElOKCJ6bGlzdGF0dHIiLCAwLCBiaW5fbGlzdGF0dHIsIDEsIDIsIDAsIE5VTEwsIE5VTEwp LAorICAgIEJVSUxUSU4oInpnZXRhdHRyIiwgMCwgYmluX2dldGF0dHIsIDIsIDMsIDAsICJoIiwg TlVMTCksCisgICAgQlVJTFRJTigienNldGF0dHIiLCAwLCBiaW5fc2V0YXR0ciwgMywgMywgMCwg ImgiLCBOVUxMKSwKKyAgICBCVUlMVElOKCJ6ZGVsYXR0ciIsIDAsIGJpbl9kZWxhdHRyLCAyLCAt MSwgMCwgImgiLCBOVUxMKSwKKyAgICBCVUlMVElOKCJ6bGlzdGF0dHIiLCAwLCBiaW5fbGlzdGF0 dHIsIDEsIDIsIDAsICJoIiwgTlVMTCksCiB9OwogCiBzdGF0aWMgc3RydWN0IGZlYXR1cmVzIG1v ZHVsZV9mZWF0dXJlcyA9IHsK --001636e0ba2f2621ce0477898795--