[PATCH] builtin: Fewer ARG calls
Eric Blake via M4-patches <[email protected]> Sun, 20 Apr 2025 10:04:19 -0500
| Newsgroups | gmane.comp.gnu.m4.patches |
|---|---|
| Message-ID | <[email protected]> |
VGhlIEFSRygpIG1hY3JvIGludm92ZXMgc29tZSBjb25kaXRpb25hbHMgYW5kIGluZGlyZWN0aW9u LiBBbnl3aGVyZQp0aGUgYnVpbHRpbiBuZWVkcyB0byByZWZlciB0byB0aGUgc2FtZSBhcmd1bWVu dCwgaXQgaXMgc2xpZ2h0bHkgYmV0dGVyCnRvIGdyYWIgaXQgdXAgZnJvbnQgaW50byBhIHRlbXBv cmFyeSB2YXJpYWJsZS4KCiogc3JjL2J1aWx0aW4gKG00X2V2YWwsIG00X3VuZGl2ZXJ0LCBpbmNs dWRlLCBtNF9kZWJ1Z21vZGUpOiBSZWR1Y2UKY2FsbHMgdG8gQVJHLgotLS0KClNwb3R0ZWQgd2hp bGUgcmV2aWV3aW5nIERhdmlkIE0uIFdhcm1lJ3MgcGF0Y2guCgogc3JjL2J1aWx0aW4uYyB8IDM1 ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjAg aW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2J1aWx0aW4u YyBiL3NyYy9idWlsdGluLmMKaW5kZXggMjgxOWJhNDkuLmZlN2Q5ZGVjIDEwMDY0NAotLS0gYS9z cmMvYnVpbHRpbi5jCisrKyBiL3NyYy9idWlsdGluLmMKQEAgLTExMjUsMTEgKzExMjUsMTMgQEAg bTRfZXZhbCAoc3RydWN0IG9ic3RhY2sgKm9icywgaW50IGFyZ2MsIHRva2VuX2RhdGEgKiphcmd2 KQogICBpbnQgbWluID0gMTsKICAgY29uc3QgY2hhciAqczsKICAgY29uc3QgY2hhciAqZTsKKyAg Y29uc3QgY2hhciAqZXhwciA9IEFSRyAoMSk7CisgIGNvbnN0IGNoYXIgKmJhc2UgPSBBUkcgKDIp OwoKICAgaWYgKGJhZF9hcmdjIChhcmd2WzBdLCBhcmdjLCAyLCA0KSkKICAgICByZXR1cm47Cgot ICBpZiAoKkFSRyAoMikgJiYgIW51bWVyaWNfYXJnIChhcmd2WzBdLCBBUkcgKDIpLCAmcmFkaXgp KQorICBpZiAoKmJhc2UgJiYgIW51bWVyaWNfYXJnIChhcmd2WzBdLCBiYXNlLCAmcmFkaXgpKQog ICAgIHJldHVybjsKCiAgIGlmIChyYWRpeCA8IDEgfHwgcmFkaXggPiAzNikKQEAgLTExNDgsMTAg KzExNTAsMTAgQEAgbTRfZXZhbCAoc3RydWN0IG9ic3RhY2sgKm9icywgaW50IGFyZ2MsIHRva2Vu X2RhdGEgKiphcmd2KQogICAgICAgcmV0dXJuOwogICAgIH0KCi0gIGlmICghKkFSRyAoMSkpCisg IGlmICghKmV4cHIpCiAgICAgTTRFUlJPUiAoKHdhcm5pbmdfc3RhdHVzLCAwLAogICAgICAgICAg ICAgICBfKCJlbXB0eSBzdHJpbmcgdHJlYXRlZCBhcyAwIGluIGJ1aWx0aW4gYCVzJyIpLCBBUkcg KDApKSk7Ci0gIGVsc2UgaWYgKGV2YWx1YXRlIChBUkcgKDEpLCAmdmFsdWUpKQorICBlbHNlIGlm IChldmFsdWF0ZSAoZXhwciwgJnZhbHVlKSkKICAgICByZXR1cm47CgogICBpZiAocmFkaXggPT0g MSkKQEAgLTEyNzQsMjUgKzEyNzYsMjYgQEAgbTRfdW5kaXZlcnQgKHN0cnVjdCBvYnN0YWNrICpv YnMgTUFZQkVfVU5VU0VELCBpbnQgYXJnYywgdG9rZW5fZGF0YSAqKmFyZ3YpCiAgIGVsc2UKICAg ICBmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKQogICAgICAgewotICAgICAgICBmaWxlID0gc3Ry dG9sIChBUkcgKGkpLCAmZW5kcCwgMTApOwotICAgICAgICBpZiAoKmVuZHAgPT0gJ1wwJyAmJiAh Y19pc3NwYWNlICgqQVJHIChpKSkpCisgICAgICAgIGNvbnN0IGNoYXIgKmFyZyA9IEFSRyAoaSk7 CisgICAgICAgIGZpbGUgPSBzdHJ0b2wgKGFyZywgJmVuZHAsIDEwKTsKKyAgICAgICAgaWYgKCpl bmRwID09ICdcMCcgJiYgIWNfaXNzcGFjZSAoKmFyZykpCiAgICAgICAgICAgaW5zZXJ0X2RpdmVy c2lvbiAoZmlsZSk7CiAgICAgICAgIGVsc2UgaWYgKG5vX2dudV9leHRlbnNpb25zKQogICAgICAg ICAgIE00RVJST1IgKCh3YXJuaW5nX3N0YXR1cywgMCwKICAgICAgICAgICAgICAgICAgICAgXygi bm9uLW51bWVyaWMgYXJndW1lbnQgdG8gYnVpbHRpbiBgJXMnIiksIEFSRyAoMCkpKTsKICAgICAg ICAgZWxzZQogICAgICAgICAgIHsKLSAgICAgICAgICAgIGZwID0gbTRfcGF0aF9zZWFyY2ggKEFS RyAoaSksIGZhbHNlLCBOVUxMKTsKKyAgICAgICAgICAgIGZwID0gbTRfcGF0aF9zZWFyY2ggKGFy ZywgZmFsc2UsIE5VTEwpOwogICAgICAgICAgICAgaWYgKGZwICE9IE5VTEwpCiAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICBpbnNlcnRfZmlsZSAoZnApOwogICAgICAgICAgICAgICAg IGlmIChmY2xvc2UgKGZwKSA9PSBFT0YpCiAgICAgICAgICAgICAgICAgICBNNEVSUk9SICgod2Fy bmluZ19zdGF0dXMsIGVycm5vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oImVycm9y IHVuZGl2ZXJ0aW5nIGAlcyciKSwgQVJHIChpKSkpOworICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF8oImVycm9yIHVuZGl2ZXJ0aW5nIGAlcyciKSwgYXJnKSk7CiAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgTTRFUlJPUiAoKHdhcm5pbmdfc3RhdHVz LCBlcnJubywKLSAgICAgICAgICAgICAgICAgICAgICAgIF8oImNhbm5vdCB1bmRpdmVydCBgJXMn IiksIEFSRyAoaSkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIF8oImNhbm5vdCB1bmRpdmVy dCBgJXMnIiksIGFyZykpOwogICAgICAgICAgIH0KICAgICAgIH0KIH0KQEAgLTEzOTIsMTYgKzEz OTUsMTcgQEAgaW5jbHVkZSAoaW50IGFyZ2MsIHRva2VuX2RhdGEgKiphcmd2LCBib29sIHNpbGVu dCkKIHsKICAgRklMRSAqZnA7CiAgIGNoYXIgKm5hbWU7CisgIGNvbnN0IGNoYXIgKmFyZyA9IEFS RyAoMSk7CgogICBpZiAoYmFkX2FyZ2MgKGFyZ3ZbMF0sIGFyZ2MsIDIsIDIpKQogICAgIHJldHVy bjsKCi0gIGZwID0gbTRfcGF0aF9zZWFyY2ggKEFSRyAoMSksIGZhbHNlLCAmbmFtZSk7CisgIGZw ID0gbTRfcGF0aF9zZWFyY2ggKGFyZywgZmFsc2UsICZuYW1lKTsKICAgaWYgKGZwID09IE5VTEwp CiAgICAgewogICAgICAgaWYgKCFzaWxlbnQpCiAgICAgICAgIHsKLSAgICAgICAgICBNNEVSUk9S ICgod2FybmluZ19zdGF0dXMsIGVycm5vLCBfKCJjYW5ub3Qgb3BlbiBgJXMnIiksIEFSRyAoMSkp KTsKKyAgICAgICAgICBNNEVSUk9SICgod2FybmluZ19zdGF0dXMsIGVycm5vLCBfKCJjYW5ub3Qg b3BlbiBgJXMnIiksIGFyZykpOwogICAgICAgICAgIHJldGNvZGUgPSBFWElUX0ZBSUxVUkU7CiAg ICAgICAgIH0KICAgICAgIHJldHVybjsKQEAgLTE2OTcsNiArMTcwMSw3IEBAIG00X2RlYnVnbW9k ZSAoc3RydWN0IG9ic3RhY2sgKm9icyBNQVlCRV9VTlVTRUQsIGludCBhcmdjLCB0b2tlbl9kYXRh ICoqYXJndikKIHsKICAgaW50IG5ld19kZWJ1Z19sZXZlbDsKICAgaW50IGNoYW5nZV9mbGFnOwor ICBjb25zdCBjaGFyICpzdHIgPSBBUkcgKDEpOwoKICAgaWYgKGJhZF9hcmdjIChhcmd2WzBdLCBh cmdjLCAxLCAyKSkKICAgICByZXR1cm47CkBAIC0xNzA1LDIwICsxNzEwLDIwIEBAIG00X2RlYnVn bW9kZSAoc3RydWN0IG9ic3RhY2sgKm9icyBNQVlCRV9VTlVTRUQsIGludCBhcmdjLCB0b2tlbl9k YXRhICoqYXJndikKICAgICBkZWJ1Z19sZXZlbCA9IDA7CiAgIGVsc2UKICAgICB7Ci0gICAgICBp ZiAoQVJHICgxKVswXSA9PSAnKycgfHwgQVJHICgxKVswXSA9PSAnLScpCisgICAgICBpZiAoc3Ry WzBdID09ICcrJyB8fCBzdHJbMF0gPT0gJy0nKQogICAgICAgICB7Ci0gICAgICAgICAgY2hhbmdl X2ZsYWcgPSBBUkcgKDEpWzBdOwotICAgICAgICAgIG5ld19kZWJ1Z19sZXZlbCA9IGRlYnVnX2Rl Y29kZSAoQVJHICgxKSArIDEpOworICAgICAgICAgIGNoYW5nZV9mbGFnID0gc3RyWzBdOworICAg ICAgICAgIG5ld19kZWJ1Z19sZXZlbCA9IGRlYnVnX2RlY29kZSAoc3RyICsgMSk7CiAgICAgICAg IH0KICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAgIGNoYW5nZV9mbGFnID0gMDsKLSAg ICAgICAgICBuZXdfZGVidWdfbGV2ZWwgPSBkZWJ1Z19kZWNvZGUgKEFSRyAoMSkpOworICAgICAg ICAgIG5ld19kZWJ1Z19sZXZlbCA9IGRlYnVnX2RlY29kZSAoc3RyKTsKICAgICAgICAgfQoKICAg ICAgIGlmIChuZXdfZGVidWdfbGV2ZWwgPCAwKQogICAgICAgICBNNEVSUk9SICgod2FybmluZ19z dGF0dXMsIDAsCi0gICAgICAgICAgICAgICAgICBfKCJEZWJ1Z21vZGU6IGJhZCBkZWJ1ZyBmbGFn czogYCVzJyIpLCBBUkcgKDEpKSk7CisgICAgICAgICAgICAgICAgICBfKCJEZWJ1Z21vZGU6IGJh ZCBkZWJ1ZyBmbGFnczogYCVzJyIpLCBzdHIpKTsKICAgICAgIGVsc2UKICAgICAgICAgewogICAg ICAgICAgIHN3aXRjaCAoY2hhbmdlX2ZsYWcpCgpiYXNlLWNvbW1pdDogYmRkOTdlZTdjYzJmN2Y2 NDVkNzVhMjlkYjkyZGRjODVkZWE5MWY4OAotLSAKMi40OS4wCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTTQtcGF0Y2hlcyBtYWlsaW5nIGxpc3QKTTQt cGF0Y2hlc0BnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL200 LXBhdGNoZXMK