[PATCH 3/5] symtab: Reduce redundant strlen on macro names
Eric Blake via M4-patches <[email protected]> Wed, 2 Apr 2025 17:28:38 -0500
| Newsgroups | gmane.comp.gnu.m4.patches |
|---|---|
| Message-ID | <[email protected]> |
SW4gbWFueSBjYXNlcywgdGhlIGxlbmd0aCBvZiBhIG1hY3JvIG5hbWUgd2FzIHByZXZpb3VzbHkg bGVhcm5lZDsgbm8KbmVlZCB0byByZXBlYXQgdGhlIGVmZm9ydCBvbiBhIHN0cmxlbi4KCiogc3Jj L200LmggKHN0cnVjdCBzeW1ib2wpOiBBZGQgbGVuIG1lbWJlci4KKFNZTUJPTF9OQU1FX0xFTik6 IE5ldyBtYWNyby4KKGxvb2t1cF9zeW1ib2wsIGRlZmluZV91c2VyX21hY3JvKTogVXBkYXRlIHBy b3RvdHlwZXMuCiogc3JjL3N5bXRhYiAobG9va3VwX3N5bWJvbCk6IFVwZGF0ZSBzaWduYXR1cmUg dG8gdGFrZSBsZW5ndGguCihzeW10YWJfZGVidWcsIHN5bXRhYl9wcmludF9saXN0KTogQWRqdXN0 IGNhbGxlcnMuCiogc3JjL2J1aWx0aW4uYyAoZGVmaW5lX3VzZXJfbWFjcm8pOiBVcGRhdGUgc2ln bmF0dXJlIHRvIHRha2UgbGVuZ3Rocy4KKGRlZmluZV9idWlsdGluLCBidWlsdGluX2luaXQsIGRl ZmluZV9tYWNybywgbTRfdW5kZWZpbmUsIG00X3BvcGRlZikKKG00X2lmZGVmLCBtNF9kdW1wZGVm LCBtNF9pbmRpciwgbTRfZGVmbiwgc2V0X3RyYWNlLCBtNF90cmFjZW9uKQoobTRfdHJhY2VvZmYp OiBBZGp1c3QgY2FsbGVycy4KKiBzcmMvZnJlZXplLmMgKHJlbG9hZF9mcm96ZW5fc3RhdGUpOiBM aWtld2lzZS4KKiBzcmMvbTQuYyAobWFpbik6IExpa2V3aXNlLgoqIHNyYy9tYWNyby5jIChleHBh bmRfdG9rZW4sIGNvbGxlY3RfYXJndW1lbnRzKTogTGlrZXdpc2UuCi0tLQogc3JjL2J1aWx0aW4u YyB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogc3JjL2ZyZWV6ZS5jICB8ICAzICsrLQogc3JjL200LmMgICAgICB8ICA5ICsrKysrLS0tCiBz cmMvbTQuaCAgICAgIHwgIDcgKysrKystLQogc3JjL21hY3JvLmMgICB8ICA1ICsrKy0tCiBzcmMv c3ltdGFiLmMgIHwgMjIgKysrKysrKysrKysrKystLS0tLS0KIDYgZmlsZXMgY2hhbmdlZCwgNjMg aW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2J1aWx0aW4u YyBiL3NyYy9idWlsdGluLmMKaW5kZXggNjllYjJhOGMuLjkwN2VmYzlkIDEwMDY0NAotLS0gYS9z cmMvYnVpbHRpbi5jCisrKyBiL3NyYy9idWlsdGluLmMKQEAgLTIxNCw3ICsyMTQsNyBAQCBkZWZp bmVfYnVpbHRpbiAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgYnVpbHRpbiAqYnAsIHN5bWJvbF9s b29rdXAgbW9kZSkKIHsKICAgc3ltYm9sICpzeW07CgotICBzeW0gPSBsb29rdXBfc3ltYm9sIChu YW1lLCBtb2RlKTsKKyAgc3ltID0gbG9va3VwX3N5bWJvbCAobmFtZSwgc3RybGVuIChuYW1lKSwg bW9kZSk7CiAgIFNZTUJPTF9UWVBFIChzeW0pID0gVE9LRU5fRlVOQzsKICAgU1lNQk9MX01BQ1JP X0FSR1MgKHN5bSkgPSBicC0+Z3Jva3NfbWFjcm9fYXJnczsKICAgU1lNQk9MX0JMSU5EX05PX0FS R1MgKHN5bSkgPSBicC0+YmxpbmRfaWZfbm9fYXJnczsKQEAgLTI4NywzNSArMjg3LDM2IEBAIGZy ZWVfbWFjcm9fc2VxdWVuY2UgKHZvaWQpCiBgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKIHZvaWQKLWRlZmluZV91c2Vy X21hY3JvIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp0ZXh0LCBzeW1ib2xfbG9va3Vw IG1vZGUpCitkZWZpbmVfdXNlcl9tYWNybyAoY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVfbGVu LCBjb25zdCBjaGFyICp0ZXh0LAorICAgICAgICAgICAgICAgICAgIHNpemVfdCB0ZXh0X2xlbiwg c3ltYm9sX2xvb2t1cCBtb2RlKQogewogICBzeW1ib2wgKnM7CiAgIGNoYXIgKmRlZm4gPSB4c3Ry ZHVwICh0ZXh0ID8gdGV4dCA6ICIiKTsKLSAgc2l6ZV90IGxlbiA9IHN0cmxlbiAoZGVmbik7Cgot ICBpZiAobGVuID4gSU5UX01BWCkKKyAgaWYgKHRleHRfbGVuID4gSU5UX01BWCkKICAgICB7CiAg ICAgICBNNEVSUk9SICgod2FybmluZ19zdGF0dXMsIDAsCiAgICAgICAgICAgICAgICAgXygibWFj cm8gYCVzJyBkZWZpbml0aW9uIHRvbyBsb25nOyB0cnVuY2F0aW5nIHRvIElOVF9NQVggYnl0ZXMi KSwKICAgICAgICAgICAgICAgICAgIG5hbWUpKTsKLSAgICAgIGxlbiA9IElOVF9NQVg7CisgICAg ICB0ZXh0X2xlbiA9IElOVF9NQVg7CiAgICAgfQoKLSAgcyA9IGxvb2t1cF9zeW1ib2wgKG5hbWUs IG1vZGUpOworICBzID0gbG9va3VwX3N5bWJvbCAobmFtZSwgbmFtZV9sZW4sIG1vZGUpOwogICBp ZiAoU1lNQk9MX1RZUEUgKHMpID09IFRPS0VOX1RFWFQpCiAgICAgZnJlZSAoU1lNQk9MX1RFWFQg KHMpKTsKCiAgIFNZTUJPTF9UWVBFIChzKSA9IFRPS0VOX1RFWFQ7CiAgIFNZTUJPTF9URVhUIChz KSA9IGRlZm47Ci0gIFNZTUJPTF9URVhUX0xFTiAocykgPSBsZW47CisgIFNZTUJPTF9URVhUX0xF TiAocykgPSB0ZXh0X2xlbjsKCiAgIC8qIEltcGxlbWVudCAtLXdhcm4tbWFjcm8tc2VxdWVuY2Uu ICAqLwogICBpZiAobWFjcm9fc2VxdWVuY2VfaW51c2UgJiYgdGV4dCkKICAgICB7CiAgICAgICBy ZWdvZmZfdCBvZmZzZXQgPSAwOwoKLSAgICAgIHdoaWxlICgob2Zmc2V0ID0gcmVfc2VhcmNoICgm bWFjcm9fc2VxdWVuY2VfYnVmLCBkZWZuLCBsZW4sIG9mZnNldCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsZW4gLSBvZmZzZXQsICZtYWNyb19zZXF1ZW5jZV9yZWdzKSkgPj0g MCkKKyAgICAgIHdoaWxlICgob2Zmc2V0ID0gcmVfc2VhcmNoICgmbWFjcm9fc2VxdWVuY2VfYnVm LCBkZWZuLCB0ZXh0X2xlbiwgb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRleHRfbGVuIC0gb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZtYWNyb19zZXF1ZW5jZV9yZWdzKSkgPj0gMCkKICAgICAgICAgewogICAgICAgICAgIC8qIFNr aXAgZW1wdHkgbWF0Y2hlcy4gICovCiAgICAgICAgICAgaWYgKG1hY3JvX3NlcXVlbmNlX3JlZ3Mu c3RhcnRbMF0gPT0gbWFjcm9fc2VxdWVuY2VfcmVncy5lbmRbMF0pCkBAIC0zNjcsMTIgKzM2OCwx NCBAQCBidWlsdGluX2luaXQgKHZvaWQpCiAgICAgaWYgKG5vX2dudV9leHRlbnNpb25zKQogICAg ICAgewogICAgICAgICBpZiAocHAtPnVuaXhfbmFtZSAhPSBOVUxMKQotICAgICAgICAgIGRlZmlu ZV91c2VyX21hY3JvIChwcC0+dW5peF9uYW1lLCBwcC0+ZnVuYywgU1lNQk9MX0lOU0VSVCk7Cisg ICAgICAgICAgZGVmaW5lX3VzZXJfbWFjcm8gKHBwLT51bml4X25hbWUsIHN0cmxlbiAocHAtPnVu aXhfbmFtZSksIHBwLT5mdW5jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4g KHBwLT5mdW5jKSwgU1lNQk9MX0lOU0VSVCk7CiAgICAgICB9CiAgICAgZWxzZQogICAgICAgewog ICAgICAgICBpZiAocHAtPmdudV9uYW1lICE9IE5VTEwpCi0gICAgICAgICAgZGVmaW5lX3VzZXJf bWFjcm8gKHBwLT5nbnVfbmFtZSwgcHAtPmZ1bmMsIFNZTUJPTF9JTlNFUlQpOworICAgICAgICAg IGRlZmluZV91c2VyX21hY3JvIChwcC0+Z251X25hbWUsIHN0cmxlbiAocHAtPmdudV9uYW1lKSwg cHAtPmZ1bmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbiAocHAtPmZ1bmMp LCBTWU1CT0xfSU5TRVJUKTsKICAgICAgIH0KIH0KCkBAIC01NjUsMTQgKzU2OCwxNCBAQCBkZWZp bmVfbWFjcm8gKGludCBhcmdjLCB0b2tlbl9kYXRhICoqYXJndiwgc3ltYm9sX2xvb2t1cCBtb2Rl KQoKICAgaWYgKGFyZ2MgPT0gMikKICAgICB7Ci0gICAgICBkZWZpbmVfdXNlcl9tYWNybyAoQVJH ICgxKSwgIiIsIG1vZGUpOworICAgICAgZGVmaW5lX3VzZXJfbWFjcm8gKEFSRyAoMSksIEFSR0xF TiAoMSksICIiLCAwLCBtb2RlKTsKICAgICAgIHJldHVybjsKICAgICB9CgogICBzd2l0Y2ggKFRP S0VOX0RBVEFfVFlQRSAoYXJndlsyXSkpCiAgICAgewogICAgIGNhc2UgVE9LRU5fVEVYVDoKLSAg ICAgIGRlZmluZV91c2VyX21hY3JvIChBUkcgKDEpLCBBUkcgKDIpLCBtb2RlKTsKKyAgICAgIGRl ZmluZV91c2VyX21hY3JvIChBUkcgKDEpLCBBUkdMRU4gKDEpLCBBUkcgKDIpLCBBUkdMRU4gKDIp LCBtb2RlKTsKICAgICAgIGJyZWFrOwoKICAgICBjYXNlIFRPS0VOX0ZVTkM6CkBAIC02MDQsNyAr NjA3LDcgQEAgbTRfdW5kZWZpbmUgKHN0cnVjdCBvYnN0YWNrICpvYnMgTUFZQkVfVU5VU0VELCBp bnQgYXJnYywgdG9rZW5fZGF0YSAqKmFyZ3YpCiAgIGlmIChiYWRfYXJnYyAoYXJndlswXSwgYXJn YywgMiwgLTEpKQogICAgIHJldHVybjsKICAgZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykKLSAg ICBsb29rdXBfc3ltYm9sIChBUkcgKGkpLCBTWU1CT0xfREVMRVRFKTsKKyAgICBsb29rdXBfc3lt Ym9sIChBUkcgKGkpLCBBUkdMRU4gKGkpLCBTWU1CT0xfREVMRVRFKTsKIH0KCiBzdGF0aWMgdm9p ZApAQCAtNjIwLDcgKzYyMyw3IEBAIG00X3BvcGRlZiAoc3RydWN0IG9ic3RhY2sgKm9icyBNQVlC RV9VTlVTRUQsIGludCBhcmdjLCB0b2tlbl9kYXRhICoqYXJndikKICAgaWYgKGJhZF9hcmdjIChh cmd2WzBdLCBhcmdjLCAyLCAtMSkpCiAgICAgcmV0dXJuOwogICBmb3IgKGkgPSAxOyBpIDwgYXJn YzsgaSsrKQotICAgIGxvb2t1cF9zeW1ib2wgKEFSRyAoaSksIFNZTUJPTF9QT1BERUYpOworICAg IGxvb2t1cF9zeW1ib2wgKEFSRyAoaSksIEFSR0xFTiAoaSksIFNZTUJPTF9QT1BERUYpOwogfQog DAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0uCkBAIC02MzUsNyArNjM4LDcgQEAgbTRfaWZkZWYg KHN0cnVjdCBvYnN0YWNrICpvYnMsIGludCBhcmdjLCB0b2tlbl9kYXRhICoqYXJndikKCiAgIGlm IChiYWRfYXJnYyAoYXJndlswXSwgYXJnYywgMywgNCkpCiAgICAgcmV0dXJuOwotICBzID0gbG9v a3VwX3N5bWJvbCAoQVJHICgxKSwgU1lNQk9MX0xPT0tVUCk7CisgIHMgPSBsb29rdXBfc3ltYm9s IChBUkcgKDEpLCBBUkdMRU4gKDEpLCBTWU1CT0xfTE9PS1VQKTsKCiAgIGlmIChzICE9IE5VTEwg JiYgU1lNQk9MX1RZUEUgKHMpICE9IFRPS0VOX1ZPSUQpCiAgICAgcmVzdWx0ID0gMjsKQEAgLTc1 Miw3ICs3NTUsOCBAQCBtNF9kdW1wZGVmIChzdHJ1Y3Qgb2JzdGFjayAqb2JzLCBpbnQgYXJnYywg dG9rZW5fZGF0YSAqKmFyZ3YpCiAgICAgewogICAgICAgZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkr KykKICAgICAgICAgewotICAgICAgICAgIHMgPSBsb29rdXBfc3ltYm9sIChUT0tFTl9EQVRBX1RF WFQgKGFyZ3ZbaV0pLCBTWU1CT0xfTE9PS1VQKTsKKyAgICAgICAgICBzID0gbG9va3VwX3N5bWJv bCAoVE9LRU5fREFUQV9URVhUIChhcmd2W2ldKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVE9LRU5fREFUQV9MRU4gKGFyZ3ZbaV0pLCBTWU1CT0xfTE9PS1VQKTsKICAgICAgICAgICBp ZiAocyAhPSBOVUxMICYmIFNZTUJPTF9UWVBFIChzKSAhPSBUT0tFTl9WT0lEKQogICAgICAgICAg ICAgZHVtcF9zeW1ib2wgKHMsICZkYXRhKTsKICAgICAgICAgICBlbHNlCkBAIC04NjcsNyArODcx LDcgQEAgbTRfaW5kaXIgKHN0cnVjdCBvYnN0YWNrICpvYnMsIGludCBhcmdjLCB0b2tlbl9kYXRh ICoqYXJndikKICAgICB9CgogICBuYW1lID0gQVJHICgxKTsKLSAgcyA9IGxvb2t1cF9zeW1ib2wg KG5hbWUsIFNZTUJPTF9MT09LVVApOworICBzID0gbG9va3VwX3N5bWJvbCAobmFtZSwgQVJHTEVO ICgxKSwgU1lNQk9MX0xPT0tVUCk7CiAgIGlmIChzID09IE5VTEwgfHwgU1lNQk9MX1RZUEUgKHMp ID09IFRPS0VOX1ZPSUQpCiAgICAgTTRFUlJPUiAoKHdhcm5pbmdfc3RhdHVzLCAwLAogICAgICAg ICAgICAgICBfKCJ1bmRlZmluZWQgbWFjcm8gYCVzJyIpLCBuYW1lKSk7CkBAIC04OTcsMTYgKzkw MSwxNiBAQCBtNF9kZWZuIChzdHJ1Y3Qgb2JzdGFjayAqb2JzLCBpbnQgYXJnYywgdG9rZW5fZGF0 YSAqKmFyZ3YpCiB7CiAgIHN5bWJvbCAqczsKICAgYnVpbHRpbl9mdW5jICpiOwotICB1bnNpZ25l ZCBpbnQgaTsKKyAgaW50IGk7CgogICBpZiAoYmFkX2FyZ2MgKGFyZ3ZbMF0sIGFyZ2MsIDIsIC0x KSkKICAgICByZXR1cm47CgogICBhc3NlcnQgKDAgPCBhcmdjKTsKLSAgZm9yIChpID0gMTsgaSA8 ICh1bnNpZ25lZCkgYXJnYzsgaSsrKQorICBmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKQogICAg IHsKLSAgICAgIGNvbnN0IGNoYXIgKmFyZyA9IEFSRygoaW50KSBpKTsKLSAgICAgIHMgPSBsb29r dXBfc3ltYm9sIChhcmcsIFNZTUJPTF9MT09LVVApOworICAgICAgY29uc3QgY2hhciAqYXJnID0g QVJHKGkpOworICAgICAgcyA9IGxvb2t1cF9zeW1ib2wgKGFyZywgQVJHTEVOIChpKSwgU1lNQk9M X0xPT0tVUCk7CiAgICAgICBpZiAocyA9PSBOVUxMKQogICAgICAgICBjb250aW51ZTsKCkBAIC0x NjIwLDcgKzE2MjQsNyBAQCBzZXRfdHJhY2UgKHN5bWJvbCAqc3ltLCB2b2lkICpkYXRhKQogICBT WU1CT0xfVFJBQ0VEIChzeW0pID0gZGF0YSAhPSBOVUxMOwogICAvKiBSZW1vdmUgcGxhY2Vob2xk ZXIgZnJvbSB0YWJsZSBpZiBtYWNybyBpcyB1bmRlZmluZWQgYW5kIHVudHJhY2VkLiAgKi8KICAg aWYgKFNZTUJPTF9UWVBFIChzeW0pID09IFRPS0VOX1ZPSUQgJiYgZGF0YSA9PSBOVUxMKQotICAg IGxvb2t1cF9zeW1ib2wgKFNZTUJPTF9OQU1FIChzeW0pLCBTWU1CT0xfUE9QREVGKTsKKyAgICBs b29rdXBfc3ltYm9sIChTWU1CT0xfTkFNRSAoc3ltKSwgU1lNQk9MX05BTUVfTEVOIChzeW0pLCBT WU1CT0xfUE9QREVGKTsKIH0KCiBzdGF0aWMgdm9pZApAQCAtMTYzNCw5ICsxNjM4LDkgQEAgbTRf dHJhY2VvbiAoc3RydWN0IG9ic3RhY2sgKm9icywgaW50IGFyZ2MsIHRva2VuX2RhdGEgKiphcmd2 KQogICBlbHNlCiAgICAgZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykKICAgICAgIHsKLSAgICAg ICAgcyA9IGxvb2t1cF9zeW1ib2wgKEFSRyAoaSksIFNZTUJPTF9MT09LVVApOworICAgICAgICBz ID0gbG9va3VwX3N5bWJvbCAoQVJHIChpKSwgQVJHTEVOIChpKSwgU1lNQk9MX0xPT0tVUCk7CiAg ICAgICAgIGlmICghcykKLSAgICAgICAgICBzID0gbG9va3VwX3N5bWJvbCAoQVJHIChpKSwgU1lN Qk9MX0lOU0VSVCk7CisgICAgICAgICAgcyA9IGxvb2t1cF9zeW1ib2wgKEFSRyAoaSksIEFSR0xF TiAoaSksIFNZTUJPTF9JTlNFUlQpOwogICAgICAgICBzZXRfdHJhY2UgKHMsIG9icyk7CiAgICAg ICB9CiB9CkBAIC0xNjU2LDcgKzE2NjAsOCBAQCBtNF90cmFjZW9mZiAoc3RydWN0IG9ic3RhY2sg Km9icyBNQVlCRV9VTlVTRUQsIGludCBhcmdjLCB0b2tlbl9kYXRhICoqYXJndikKICAgZWxzZQog ICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspCiAgICAgICB7Ci0gICAgICAgIHMgPSBsb29r dXBfc3ltYm9sIChUT0tFTl9EQVRBX1RFWFQgKGFyZ3ZbaV0pLCBTWU1CT0xfTE9PS1VQKTsKKyAg ICAgICAgcyA9IGxvb2t1cF9zeW1ib2wgKFRPS0VOX0RBVEFfVEVYVCAoYXJndltpXSksIFRPS0VO X0RBVEFfTEVOIChhcmd2W2ldKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFNZTUJPTF9M T09LVVApOwogICAgICAgICBpZiAocyAhPSBOVUxMKQogICAgICAgICAgIHNldF90cmFjZSAocywg TlVMTCk7CiAgICAgICB9CmRpZmYgLS1naXQgYS9zcmMvZnJlZXplLmMgYi9zcmMvZnJlZXplLmMK aW5kZXggZDBiNWNlY2QuLmJmN2YyNGJlIDEwMDY0NAotLS0gYS9zcmMvZnJlZXplLmMKKysrIGIv c3JjL2ZyZWV6ZS5jCkBAIC0zNTcsNyArMzU3LDggQEAgcmVsb2FkX2Zyb3plbl9zdGF0ZSAoY29u c3QgY2hhciAqbmFtZSkKCiAgICAgICAgICAgICAgIC8qIEVudGVyIGEgbWFjcm8gaGF2aW5nIGFu IGV4cGFuc2lvbiB0ZXh0IGFzIGEgZGVmaW5pdGlvbi4gICovCgotICAgICAgICAgICAgICBkZWZp bmVfdXNlcl9tYWNybyAoc3RyaW5nWzBdLCBzdHJpbmdbMV0sIFNZTUJPTF9QVVNIREVGKTsKKyAg ICAgICAgICAgICAgZGVmaW5lX3VzZXJfbWFjcm8gKHN0cmluZ1swXSwgc3RybGVuIChzdHJpbmdb MF0pLCBzdHJpbmdbMV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4g KHN0cmluZ1sxXSksIFNZTUJPTF9QVVNIREVGKTsKICAgICAgICAgICAgICAgYnJlYWs7CgogICAg ICAgICAgICAgY2FzZSAnUSc6CmRpZmYgLS1naXQgYS9zcmMvbTQuYyBiL3NyYy9tNC5jCmluZGV4 IGRiNjZkOGRmLi4wNDM5YzZlMiAxMDA2NDQKLS0tIGEvc3JjL200LmMKKysrIGIvc3JjL200LmMK QEAgLTY2NSwxNyArNjY1LDIwIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICpjb25zdCAqYXJndikK ICAgICAgICAgICAgIGNoYXIgKm1hY3JvX3ZhbHVlID0gc3RyY2hyIChtYWNyb19uYW1lLCAnPScp OwogICAgICAgICAgICAgaWYgKG1hY3JvX3ZhbHVlKQogICAgICAgICAgICAgICAqbWFjcm9fdmFs dWUrKyA9ICdcMCc7Ci0gICAgICAgICAgICBkZWZpbmVfdXNlcl9tYWNybyAobWFjcm9fbmFtZSwg bWFjcm9fdmFsdWUsIFNZTUJPTF9JTlNFUlQpOworICAgICAgICAgICAgZGVmaW5lX3VzZXJfbWFj cm8gKG1hY3JvX25hbWUsIHN0cmxlbiAobWFjcm9fbmFtZSksIG1hY3JvX3ZhbHVlLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvX3ZhbHVlID8gc3RybGVuIChtYWNyb192YWx1 ZSkgOiAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNZTUJPTF9JTlNFUlQpOwog ICAgICAgICAgICAgZnJlZSAobWFjcm9fbmFtZSk7CiAgICAgICAgICAgfQogICAgICAgICAgIGJy ZWFrOwoKICAgICAgICAgY2FzZSAnVSc6Ci0gICAgICAgICAgbG9va3VwX3N5bWJvbCAoZGVmaW5l cy0+YXJnLCBTWU1CT0xfREVMRVRFKTsKKyAgICAgICAgICBsb29rdXBfc3ltYm9sIChkZWZpbmVz LT5hcmcsIHN0cmxlbiAoZGVmaW5lcy0+YXJnKSwgU1lNQk9MX0RFTEVURSk7CiAgICAgICAgICAg YnJlYWs7CgogICAgICAgICBjYXNlICd0JzoKLSAgICAgICAgICBzeW0gPSBsb29rdXBfc3ltYm9s IChkZWZpbmVzLT5hcmcsIFNZTUJPTF9JTlNFUlQpOworICAgICAgICAgIHN5bSA9IGxvb2t1cF9z eW1ib2wgKGRlZmluZXMtPmFyZywgc3RybGVuIChkZWZpbmVzLT5hcmcpLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNZTUJPTF9JTlNFUlQpOwogICAgICAgICAgIFNZTUJPTF9UUkFD RUQgKHN5bSkgPSB0cnVlOwogICAgICAgICAgIGJyZWFrOwoKZGlmZiAtLWdpdCBhL3NyYy9tNC5o IGIvc3JjL200LmgKaW5kZXggYjg0ZjQyNjIuLjZjMjc5MWNkIDEwMDY0NAotLS0gYS9zcmMvbTQu aAorKysgYi9zcmMvbTQuaApAQCAtMzc1LDYgKzM3NSw3IEBAIHN0cnVjdCBzeW1ib2wKCiAgIHNp emVfdCBoYXNoOwogICBjaGFyICpuYW1lOworICBpbnQgbmFtZWxlbjsKICAgdG9rZW5fZGF0YSBk YXRhOwogfTsKCkBAIC0zODUsNiArMzg2LDcgQEAgc3RydWN0IHN5bWJvbAogI2RlZmluZSBTWU1C T0xfREVMRVRFRChTKSAgICAgICAoKFMpLT5kZWxldGVkKQogI2RlZmluZSBTWU1CT0xfUEVORElO R19FWFBBTlNJT05TKFMpICgoUyktPnBlbmRpbmdfZXhwYW5zaW9ucykKICNkZWZpbmUgU1lNQk9M X05BTUUoUykgICAgICAgICAgKChTKS0+bmFtZSkKKyNkZWZpbmUgU1lNQk9MX05BTUVfTEVOKFMp ICAgICAgKChTKS0+bmFtZWxlbikKICNkZWZpbmUgU1lNQk9MX1RZUEUoUykgICAgICAgICAgKFRP S0VOX0RBVEFfVFlQRSAoJihTKS0+ZGF0YSkpCiAjZGVmaW5lIFNZTUJPTF9URVhUKFMpICAgICAg ICAgIChUT0tFTl9EQVRBX1RFWFQgKCYoUyktPmRhdGEpKQogI2RlZmluZSBTWU1CT0xfVEVYVF9M RU4oUykgICAgICAoVE9LRU5fREFUQV9MRU4gKCYoUyktPmRhdGEpKQpAQCAtMzk4LDcgKzQwMCw3 IEBAIHR5cGVkZWYgdm9pZCBoYWNrX3N5bWJvbCAoc3ltYm9sICosIHZvaWQgKik7CgogZXh0ZXJu IHZvaWQgZnJlZV9zeW1ib2wgKHN5bWJvbCAqc3ltKTsKIGV4dGVybiB2b2lkIHN5bXRhYl9pbml0 ICh2b2lkKTsKLWV4dGVybiBzeW1ib2wgKmxvb2t1cF9zeW1ib2wgKGNvbnN0IGNoYXIgKiwgc3lt Ym9sX2xvb2t1cCk7CitleHRlcm4gc3ltYm9sICpsb29rdXBfc3ltYm9sIChjb25zdCBjaGFyICos IGludCwgc3ltYm9sX2xvb2t1cCk7CiBleHRlcm4gdm9pZCBoYWNrX2FsbF9zeW1ib2xzIChoYWNr X3N5bWJvbCAqLCB2b2lkICopOwogDAogLyogRmlsZTogbWFjcm8uYyAgLS0tIG1hY3JvIGV4cGFu c2lvbi4gICovCkBAIC00NDAsNyArNDQyLDggQEAgZXh0ZXJuIHZvaWQgYnVpbHRpbl9pbml0ICh2 b2lkKTsKIGV4dGVybiB2b2lkIGRlZmluZV9idWlsdGluIChjb25zdCBjaGFyICosIGNvbnN0IGJ1 aWx0aW4gKiwgc3ltYm9sX2xvb2t1cCk7CiBleHRlcm4gdm9pZCBzZXRfbWFjcm9fc2VxdWVuY2Ug KGNvbnN0IGNoYXIgKik7CiBleHRlcm4gdm9pZCBmcmVlX21hY3JvX3NlcXVlbmNlICh2b2lkKTsK LWV4dGVybiB2b2lkIGRlZmluZV91c2VyX21hY3JvIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIg Kiwgc3ltYm9sX2xvb2t1cCk7CitleHRlcm4gdm9pZCBkZWZpbmVfdXNlcl9tYWNybyAoY29uc3Qg Y2hhciAqLCBpbnQsIGNvbnN0IGNoYXIgKiwgc2l6ZV90LAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN5bWJvbF9sb29rdXApOwogZXh0ZXJuIHZvaWQgdW5kaXZlcnRfYWxsICh2b2lk KTsKIGV4dGVybiB2b2lkIGV4cGFuZF91c2VyX21hY3JvIChzdHJ1Y3Qgb2JzdGFjayAqLCBzeW1i b2wgKiwgaW50LCB0b2tlbl9kYXRhICoqKTsKIGV4dGVybiB2b2lkIG00X3BsYWNlaG9sZGVyIChz dHJ1Y3Qgb2JzdGFjayAqLCBpbnQsIHRva2VuX2RhdGEgKiopCmRpZmYgLS1naXQgYS9zcmMvbWFj cm8uYyBiL3NyYy9tYWNyby5jCmluZGV4IDc2ZTQ2OWUyLi41OTMyNTEwYiAxMDA2NDQKLS0tIGEv c3JjL21hY3JvLmMKKysrIGIvc3JjL21hY3JvLmMKQEAgLTEwMCw3ICsxMDAsOCBAQCBleHBhbmRf dG9rZW4gKHN0cnVjdCBvYnN0YWNrICpvYnMsIHRva2VuX3R5cGUgdCwgdG9rZW5fZGF0YSAqdGQs IGludCBsaW5lKQogICAgICAgYnJlYWs7CgogICAgIGNhc2UgVE9LRU5fV09SRDoKLSAgICAgIHN5 bSA9IGxvb2t1cF9zeW1ib2wgKFRPS0VOX0RBVEFfVEVYVCAodGQpLCBTWU1CT0xfTE9PS1VQKTsK KyAgICAgIHN5bSA9IGxvb2t1cF9zeW1ib2wgKFRPS0VOX0RBVEFfVEVYVCAodGQpLCBUT0tFTl9E QVRBX0xFTiAodGQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgU1lNQk9MX0xPT0tVUCk7 CiAgICAgICBpZiAoc3ltID09IE5VTEwgfHwgU1lNQk9MX1RZUEUgKHN5bSkgPT0gVE9LRU5fVk9J RAogICAgICAgICAgIHx8IChTWU1CT0xfVFlQRSAoc3ltKSA9PSBUT0tFTl9GVU5DCiAgICAgICAg ICAgICAgICYmIFNZTUJPTF9CTElORF9OT19BUkdTIChzeW0pCkBAIC0yMzgsNyArMjM5LDcgQEAg Y29sbGVjdF9hcmd1bWVudHMgKHN5bWJvbCAqc3ltLCBzdHJ1Y3Qgb2JzdGFjayAqYXJncHRyLAoK ICAgVE9LRU5fREFUQV9UWVBFICgmdGQpID0gVE9LRU5fVEVYVDsKICAgVE9LRU5fREFUQV9URVhU ICgmdGQpID0gU1lNQk9MX05BTUUgKHN5bSk7Ci0gIFRPS0VOX0RBVEFfTEVOICgmdGQpID0gc3Ry bGVuIChTWU1CT0xfTkFNRSAoc3ltKSk7CisgIFRPS0VOX0RBVEFfTEVOICgmdGQpID0gU1lNQk9M X05BTUVfTEVOIChzeW0pOwogICB0ZHAgPSAodG9rZW5fZGF0YSAqKSBvYnN0YWNrX2NvcHkgKGFy Z3VtZW50cywgJnRkLCBzaXplb2YgdGQpOwogICBvYnN0YWNrX3B0cl9ncm93IChhcmdwdHIsIHRk cCk7CgpkaWZmIC0tZ2l0IGEvc3JjL3N5bXRhYi5jIGIvc3JjL3N5bXRhYi5jCmluZGV4IGVjM2Jh MmEzLi5lMThmYzk3ZCAxMDA2NDQKLS0tIGEvc3JjL3N5bXRhYi5jCisrKyBiL3NyYy9zeW10YWIu YwpAQCAtMTcyLDcgKzE3Miw3IEBAIGZyZWVfc3ltYm9sIChzeW1ib2wgKnN5bSkKIGAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKi8KCiBzeW1ib2wgKgotbG9va3VwX3N5bWJvbCAoY29uc3QgY2hhciAqbmFtZSwgc3ltYm9s X2xvb2t1cCBtb2RlKQorbG9va3VwX3N5bWJvbCAoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwg c3ltYm9sX2xvb2t1cCBtb2RlKQogewogICBzaXplX3QgaDsKICAgaW50IGNtcCA9IDE7CkBAIC0y MjcsNiArMjI3LDcgQEAgbG9va3VwX3N5bWJvbCAoY29uc3QgY2hhciAqbmFtZSwgc3ltYm9sX2xv b2t1cCBtb2RlKQogICAgICAgICAgICAgICBTWU1CT0xfVFJBQ0VEIChzeW0pID0gU1lNQk9MX1RS QUNFRCAob2xkKTsKICAgICAgICAgICAgICAgc3ltLT5oYXNoID0gaDsKICAgICAgICAgICAgICAg U1lNQk9MX05BTUUgKHN5bSkgPSBTWU1CT0xfTkFNRSAob2xkKTsKKyAgICAgICAgICAgICAgU1lN Qk9MX05BTUVfTEVOIChzeW0pID0gU1lNQk9MX05BTUVfTEVOIChvbGQpOwogICAgICAgICAgICAg ICBTWU1CT0xfTUFDUk9fQVJHUyAoc3ltKSA9IGZhbHNlOwogICAgICAgICAgICAgICBTWU1CT0xf QkxJTkRfTk9fQVJHUyAoc3ltKSA9IGZhbHNlOwogICAgICAgICAgICAgICBTWU1CT0xfREVMRVRF RCAoc3ltKSA9IGZhbHNlOwpAQCAtMjY3LDkgKzI2OCwxMyBAQCBsb29rdXBfc3ltYm9sIChjb25z dCBjaGFyICpuYW1lLCBzeW1ib2xfbG9va3VwIG1vZGUpCiAgICAgICAgICAgU1lNQk9MX1NUQUNL IChzeW0pLT5uZXh0ID0gTlVMTDsKICAgICAgICAgICBTWU1CT0xfVFJBQ0VEIChzeW0pID0gU1lN Qk9MX1RSQUNFRCAoU1lNQk9MX1NUQUNLIChzeW0pKTsKICAgICAgICAgICBTWU1CT0xfTkFNRSAo c3ltKSA9IFNZTUJPTF9OQU1FIChTWU1CT0xfU1RBQ0sgKHN5bSkpOworICAgICAgICAgIFNZTUJP TF9OQU1FX0xFTiAoc3ltKSA9IFNZTUJPTF9OQU1FX0xFTiAoU1lNQk9MX1NUQUNLIChzeW0pKTsK ICAgICAgICAgfQogICAgICAgZWxzZQotICAgICAgICBTWU1CT0xfTkFNRSAoc3ltKSA9IHhzdHJk dXAgKG5hbWUpOworICAgICAgICB7CisgICAgICAgICAgU1lNQk9MX05BTUUgKHN5bSkgPSB4c3Ry ZHVwIChuYW1lKTsKKyAgICAgICAgICBTWU1CT0xfTkFNRV9MRU4gKHN5bSkgPSBsZW47CisgICAg ICAgIH0KICAgICAgIHJldHVybiBzeW07CgogICAgIGNhc2UgU1lNQk9MX0RFTEVURToKQEAgLTMx NSw2ICszMjAsNyBAQCBsb29rdXBfc3ltYm9sIChjb25zdCBjaGFyICpuYW1lLCBzeW1ib2xfbG9v a3VwIG1vZGUpCiAgICAgICAgICAgICBTWU1CT0xfVFJBQ0VEIChzeW0pID0gdHJ1ZTsKICAgICAg ICAgICAgIHN5bS0+aGFzaCA9IGg7CiAgICAgICAgICAgICBTWU1CT0xfTkFNRSAoc3ltKSA9IHhz dHJkdXAgKG5hbWUpOworICAgICAgICAgICAgU1lNQk9MX05BTUVfTEVOIChzeW0pID0gbGVuOwog ICAgICAgICAgICAgU1lNQk9MX01BQ1JPX0FSR1MgKHN5bSkgPSBmYWxzZTsKICAgICAgICAgICAg IFNZTUJPTF9CTElORF9OT19BUkdTIChzeW0pID0gZmFsc2U7CiAgICAgICAgICAgICBTWU1CT0xf REVMRVRFRCAoc3ltKSA9IGZhbHNlOwpAQCAtMzc4LDI0ICszODQsMjcgQEAgc3ltdGFiX2RlYnVn ICh2b2lkKQogICBzeW1ib2wgKnM7CiAgIGludCBkZWxldGU7CiAgIHN0YXRpYyBpbnQgaTsKKyAg aW50IGxlbjsKCiAgIHdoaWxlIChuZXh0X3Rva2VuICgmdGQsIE5VTEwpID09IFRPS0VOX1dPUkQp CiAgICAgewogICAgICAgdGV4dCA9IFRPS0VOX0RBVEFfVEVYVCAoJnRkKTsKKyAgICAgIGxlbiA9 IFRPS0VOX0RBVEFfTEVOICgmdGQpOwogICAgICAgaWYgKCp0ZXh0ID09ICdfJykKICAgICAgICAg ewogICAgICAgICAgIGRlbGV0ZSA9IDE7CiAgICAgICAgICAgdGV4dCsrOworICAgICAgICAgIGxl bi0tOwogICAgICAgICB9CiAgICAgICBlbHNlCiAgICAgICAgIGRlbGV0ZSA9IDA7CgotICAgICAg cyA9IGxvb2t1cF9zeW1ib2wgKHRleHQsIFNZTUJPTF9MT09LVVApOworICAgICAgcyA9IGxvb2t1 cF9zeW1ib2wgKHRleHQsIGxlbiwgU1lNQk9MX0xPT0tVUCk7CgogICAgICAgaWYgKHMgPT0gTlVM TCkKICAgICAgICAgeHByaW50ZiAoIk5hbWUgYCVzJyBpcyB1bmtub3duXG4iLCB0ZXh0KTsKCi0g ICAgICBsb29rdXBfc3ltYm9sICh0ZXh0LCBkZWxldGUgPyBTWU1CT0xfREVMRVRFIDogU1lNQk9M X0lOU0VSVCk7CisgICAgICBsb29rdXBfc3ltYm9sICh0ZXh0LCBsZW4sIGRlbGV0ZSA/IFNZTUJP TF9ERUxFVEUgOiBTWU1CT0xfSU5TRVJUKTsKICAgICB9CiAgIHN5bXRhYl9wcmludF9saXN0IChp KyspOwogfQpAQCAtNDExLDkgKzQyMCwxMCBAQCBzeW10YWJfcHJpbnRfbGlzdCAoaW50IGkpCiAg IGZvciAoaCA9IDA7IGggPCBoYXNoX3RhYmxlX3NpemU7IGgrKykKICAgICBmb3IgKGJ1Y2tldCA9 IHN5bXRhYltoXTsgYnVja2V0ICE9IE5VTEw7IGJ1Y2tldCA9IGJ1Y2tldC0+bmV4dCkKICAgICAg IGZvciAoc3ltID0gYnVja2V0OyBzeW07IHN5bSA9IHN5bS0+c3RhY2spCi0gICAgICAgIHhwcmlu dGYgKCJcdG5hbWUgJXMsIGhhc2ggJWx1LCBidWNrZXQgJWx1LCBhZGRyICVwLCBzdGFjayAlcCwg IgorICAgICAgICB4cHJpbnRmICgiXHRuYW1lICVzLCBsZW4gJWksIGhhc2ggJWx1LCBidWNrZXQg JWx1LCBhZGRyICVwLCBzdGFjayAlcCwgIgogICAgICAgICAgICAgICAgICAibmV4dCAlcCwgZmxh Z3MlcyVzLCBwZW5kaW5nICVkXG4iLAotICAgICAgICAgICAgICAgICBTWU1CT0xfTkFNRSAoc3lt KSwgKHVuc2lnbmVkIGxvbmcgaW50KSBzeW0tPmhhc2gsCisgICAgICAgICAgICAgICAgIFNZTUJP TF9OQU1FIChzeW0pLCBTWU1CT0xfTkFNRV9MRU4gKHN5bSksCisgICAgICAgICAgICAgICAgICh1 bnNpZ25lZCBsb25nIGludCkgc3ltLT5oYXNoLAogICAgICAgICAgICAgICAgICAodW5zaWduZWQg bG9uZyBpbnQpIGgsIHN5bSwgU1lNQk9MX1NUQUNLIChzeW0pLAogICAgICAgICAgICAgICAgICBz eW0tPm5leHQsCiAgICAgICAgICAgICAgICAgIFNZTUJPTF9UUkFDRUQgKHN5bSkgPyAiIHRyYWNl ZCIgOiAiIiwKLS0gCjIuNDguMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCk00LXBhdGNoZXMgbWFpbGluZyBsaXN0Ck00LXBhdGNoZXNAZ251Lm9yZwpo dHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9tNC1wYXRjaGVzCg==