[PATCH 4/5] builtin: favor xmemdup0 over xstrdup when length is known

Eric Blake via M4-patches <[email protected]> Wed, 2 Apr 2025 17:28:39 -0500
Newsgroups gmane.comp.gnu.m4.patches
Message-ID <[email protected]>
V2hlbiB0aGUgc291cmNlIGxlbmd0aCBpcyBhbHJlYWR5IGtub3duLCBpdCBpcyBmYXN0ZXIgdG8g
Y29weSBtZW1vcnkKd2l0aG91dCByZS1zY2FubmluZyBmb3IgdGhlIGxlbmd0aC4KCiogbTQvZ251
bGliLWNhY2hlLm00OiBJbXBvcnQgeG1lbWR1cDAgbW9kdWxlLgoqIHNyYy9tNC5oOiBJbmNsdWRl
ICJ4bWVtZHVwMC5oIiBmb3IgYWxsIGZpbGVzLgoqIHNyYy9idWlsdGluLmMgKGRlZmluZV91c2Vy
X21hY3JvKTogVXNlIGl0LgoqIHNyYy9zeW10YWIuYyAoZnJlZV9zeW1ib2wsIGxvb2t1cF9zeW1i
b2wpOiBMaWtld2lzZS4KLS0tCiBtNC9nbnVsaWItY2FjaGUubTQgfCAyICsrCiBzcmMvYnVpbHRp
bi5jICAgICAgfCAyICstCiBzcmMvbTQuaCAgICAgICAgICAgfCAxICsKIHNyYy9zeW10YWIuYyAg
ICAgICB8IDYgKysrLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNCBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9tNC9nbnVsaWItY2FjaGUubTQgYi9tNC9nbnVsaWItY2Fj
aGUubTQKaW5kZXggYWNlYmM4M2YuLmMyNmMzNTE2IDEwMDY0NAotLS0gYS9tNC9nbnVsaWItY2Fj
aGUubTQKKysrIGIvbTQvZ251bGliLWNhY2hlLm00CkBAIC0xMDYsNiArMTA2LDcgQEAKICMgIHZl
cnNpb24tZXRjLWZzZiBcCiAjICB3YWl0LXByb2Nlc3MgXAogIyAgeGFsbG9jIFwKKyMgIHhtZW1k
dXAwIFwKICMgIHhvc2V0IFwKICMgIHhwcmludGYgXAogIyAgeHZhc3ByaW50Zi1wb3NpeApAQCAt
MTc1LDYgKzE3Niw3IEBAIGdsX01PRFVMRVMoWwogICB2ZXJzaW9uLWV0Yy1mc2YKICAgd2FpdC1w
cm9jZXNzCiAgIHhhbGxvYworICB4bWVtZHVwMAogICB4b3NldAogICB4cHJpbnRmCiAgIHh2YXNw
cmludGYtcG9zaXgKZGlmZiAtLWdpdCBhL3NyYy9idWlsdGluLmMgYi9zcmMvYnVpbHRpbi5jCmlu
ZGV4IDkwN2VmYzlkLi4yYThjODg4ZSAxMDA2NDQKLS0tIGEvc3JjL2J1aWx0aW4uYworKysgYi9z
cmMvYnVpbHRpbi5jCkBAIC0yOTEsNyArMjkxLDcgQEAgZGVmaW5lX3VzZXJfbWFjcm8gKGNvbnN0
IGNoYXIgKm5hbWUsIGludCBuYW1lX2xlbiwgY29uc3QgY2hhciAqdGV4dCwKICAgICAgICAgICAg
ICAgICAgICBzaXplX3QgdGV4dF9sZW4sIHN5bWJvbF9sb29rdXAgbW9kZSkKIHsKICAgc3ltYm9s
ICpzOwotICBjaGFyICpkZWZuID0geHN0cmR1cCAodGV4dCA/IHRleHQgOiAiIik7CisgIGNoYXIg
KmRlZm4gPSB4bWVtZHVwMCAodGV4dCA/IHRleHQgOiAiIiwgdGV4dF9sZW4pOwoKICAgaWYgKHRl
eHRfbGVuID4gSU5UX01BWCkKICAgICB7CmRpZmYgLS1naXQgYS9zcmMvbTQuaCBiL3NyYy9tNC5o
CmluZGV4IDZjMjc5MWNkLi41YTcwNWYwOCAxMDA2NDQKLS0tIGEvc3JjL200LmgKKysrIGIvc3Jj
L200LmgKQEAgLTUzLDYgKzUzLDcgQEAKICNpbmNsdWRlICJ1bmlzdGQtLS5oIgogI2luY2x1ZGUg
InZlcmlmeS5oIgogI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInhtZW1kdXAwLmgiCiAj
aW5jbHVkZSAieHByaW50Zi5oIgogI2luY2x1ZGUgInh2YXNwcmludGYuaCIKCmRpZmYgLS1naXQg
YS9zcmMvc3ltdGFiLmMgYi9zcmMvc3ltdGFiLmMKaW5kZXggZTE4ZmM5N2QuLjBmMDQ4ZTdkIDEw
MDY0NAotLS0gYS9zcmMvc3ltdGFiLmMKKysrIGIvc3JjL3N5bXRhYi5jCkBAIC0xNDQsNyArMTQ0
LDcgQEAgZnJlZV9zeW1ib2wgKHN5bWJvbCAqc3ltKQogICAgIHsKICAgICAgIFNZTUJPTF9ERUxF
VEVEIChzeW0pID0gdHJ1ZTsKICAgICAgIGlmIChTWU1CT0xfU1RBQ0sgKHN5bSkpIHsKLSAgICAg
ICAgU1lNQk9MX05BTUUgKHN5bSkgPSB4c3RyZHVwIChTWU1CT0xfTkFNRSAoc3ltKSk7CisgICAg
ICAgIFNZTUJPTF9OQU1FIChzeW0pID0geG1lbWR1cDAgKFNZTUJPTF9OQU1FIChzeW0pLCBTWU1C
T0xfTkFNRV9MRU4gKHN5bSkpOwogICAgICAgICBTWU1CT0xfU1RBQ0sgKHN5bSkgPSBOVUxMOwog
ICAgICAgfQogICAgIH0KQEAgLTI3Miw3ICsyNzIsNyBAQCBsb29rdXBfc3ltYm9sIChjb25zdCBj
aGFyICpuYW1lLCBpbnQgbGVuLCBzeW1ib2xfbG9va3VwIG1vZGUpCiAgICAgICAgIH0KICAgICAg
IGVsc2UKICAgICAgICAgewotICAgICAgICAgIFNZTUJPTF9OQU1FIChzeW0pID0geHN0cmR1cCAo
bmFtZSk7CisgICAgICAgICAgU1lNQk9MX05BTUUgKHN5bSkgPSB4bWVtZHVwMCAobmFtZSwgbGVu
KTsKICAgICAgICAgICBTWU1CT0xfTkFNRV9MRU4gKHN5bSkgPSBsZW47CiAgICAgICAgIH0KICAg
ICAgIHJldHVybiBzeW07CkBAIC0zMTksNyArMzE5LDcgQEAgbG9va3VwX3N5bWJvbCAoY29uc3Qg
Y2hhciAqbmFtZSwgaW50IGxlbiwgc3ltYm9sX2xvb2t1cCBtb2RlKQogICAgICAgICAgICAgU1lN
Qk9MX1RZUEUgKHN5bSkgPSBUT0tFTl9WT0lEOwogICAgICAgICAgICAgU1lNQk9MX1RSQUNFRCAo
c3ltKSA9IHRydWU7CiAgICAgICAgICAgICBzeW0tPmhhc2ggPSBoOwotICAgICAgICAgICAgU1lN
Qk9MX05BTUUgKHN5bSkgPSB4c3RyZHVwIChuYW1lKTsKKyAgICAgICAgICAgIFNZTUJPTF9OQU1F
IChzeW0pID0geG1lbWR1cDAgKG5hbWUsIGxlbik7CiAgICAgICAgICAgICBTWU1CT0xfTkFNRV9M
RU4gKHN5bSkgPSBsZW47CiAgICAgICAgICAgICBTWU1CT0xfTUFDUk9fQVJHUyAoc3ltKSA9IGZh
bHNlOwogICAgICAgICAgICAgU1lNQk9MX0JMSU5EX05PX0FSR1MgKHN5bSkgPSBmYWxzZTsKLS0g
CjIuNDguMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck00LXBhdGNoZXMgbWFpbGluZyBsaXN0Ck00LXBhdGNoZXNAZ251Lm9yZwpodHRwczovL2xpc3Rz
LmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9tNC1wYXRjaGVzCg==