[PATCH] freeze: Open frozen file in binary
Eric Blake via M4-patches <[email protected]> Fri, 4 Apr 2025 09:37:18 -0500
| Newsgroups | gmane.comp.gnu.m4.patches |
|---|---|
| Message-ID | <[email protected]> |
RnJvemVuIGZpbGVzIG11c3Qgbm90IHVuZGVyZ28gbmV3bGluZSBtdW5naW5nLiAgVG8gc3VwcG9y dCB0aGlzLCB0ZWFjaAptNF9wYXRoX3NlYXJjaCB3aGV0aGVyIGEgZmlsZSBpcyBva2F5IGluIHRl eHQgbW9kZSAobm9ybWFsIG00IGlucHV0KQpvciBtdXN0IGJlIGJpbmFyeSAoYSBmcm96ZW4gZmls ZSkuCgoqIHNyYy9tNC5oIChtNF9wYXRoX3NlYXJjaCk6IFVwZGF0ZSBwcm90b3R5cGUuCiogc3Jj L3BhdGguYyAobTRfZm9wZW4sIG00X3BhdGhfc2VhcmNoKTogSG9ub3IgYmluYXJ5IG1vZGUuCiog c3JjL2J1aWx0aW4uYyAobTRfdW5kaXZlcnQsIGluY2x1ZGUpOiBVcGRhdGUgY2FsbGVycy4KKiBz cmMvZnJlZXplLmMgKHJlbG9hZF9mcm96ZW5fc3RhdGUpOiBMaWtld2lzZS4KKiBzcmMvbTQuYyAo cHJvY2Vzc19maWxlKTogTGlrZXdpc2UuClJlcG9ydGVkIGJ5IEp1YW4gTWFudWVsIEd1ZXJyZXJv IGluCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYnVnLW00LzIwMjMtMDEvbXNn MDAwMDYuaHRtbAotLS0KIHNyYy9idWlsdGluLmMgfCAgNCArKy0tCiBzcmMvZnJlZXplLmMgIHwg IDIgKy0KIHNyYy9tNC5jICAgICAgfCAgMiArLQogc3JjL200LmggICAgICB8ICAyICstCiBzcmMv cGF0aC5jICAgIHwgMjAgKysrKysrKysrKystLS0tLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMTYg aW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2J1aWx0aW4u YyBiL3NyYy9idWlsdGluLmMKaW5kZXggMTM0NjA3ZjYuLmNjM2QxYzQyIDEwMDY0NAotLS0gYS9z cmMvYnVpbHRpbi5jCisrKyBiL3NyYy9idWlsdGluLmMKQEAgLTEyNjgsNyArMTI2OCw3IEBAIG00 X3VuZGl2ZXJ0IChzdHJ1Y3Qgb2JzdGFjayAqb2JzIE1BWUJFX1VOVVNFRCwgaW50IGFyZ2MsIHRv a2VuX2RhdGEgKiphcmd2KQogICAgICAgICAgICAgICAgICAgICBfKCJub24tbnVtZXJpYyBhcmd1 bWVudCB0byBidWlsdGluIGAlcyciKSwgQVJHICgwKSkpOwogICAgICAgICBlbHNlCiAgICAgICAg ICAgewotICAgICAgICAgICAgZnAgPSBtNF9wYXRoX3NlYXJjaCAoQVJHIChpKSwgTlVMTCk7Cisg ICAgICAgICAgICBmcCA9IG00X3BhdGhfc2VhcmNoIChBUkcgKGkpLCBmYWxzZSwgTlVMTCk7CiAg ICAgICAgICAgICBpZiAoZnAgIT0gTlVMTCkKICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgIGluc2VydF9maWxlIChmcCk7CkBAIC0xMzgyLDcgKzEzODIsNyBAQCBpbmNsdWRlIChpbnQg YXJnYywgdG9rZW5fZGF0YSAqKmFyZ3YsIGJvb2wgc2lsZW50KQogICBpZiAoYmFkX2FyZ2MgKGFy Z3ZbMF0sIGFyZ2MsIDIsIDIpKQogICAgIHJldHVybjsKCi0gIGZwID0gbTRfcGF0aF9zZWFyY2gg KEFSRyAoMSksICZuYW1lKTsKKyAgZnAgPSBtNF9wYXRoX3NlYXJjaCAoQVJHICgxKSwgZmFsc2Us ICZuYW1lKTsKICAgaWYgKGZwID09IE5VTEwpCiAgICAgewogICAgICAgaWYgKCFzaWxlbnQpCmRp ZmYgLS1naXQgYS9zcmMvZnJlZXplLmMgYi9zcmMvZnJlZXplLmMKaW5kZXggNTBiMTk2NmEuLmNm ZTVmOWRhIDEwMDY0NAotLS0gYS9zcmMvZnJlZXplLmMKKysrIGIvc3JjL2ZyZWV6ZS5jCkBAIC0y NjYsNyArMjY2LDcgQEAgcmVsb2FkX2Zyb3plbl9zdGF0ZSAoY29uc3QgY2hhciAqbmFtZSkKICAg ICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKICAgd2hpbGUgKDApCgotICBmaWxlID0gbTRfcGF0aF9zZWFyY2ggKG5h bWUsIE5VTEwpOworICBmaWxlID0gbTRfcGF0aF9zZWFyY2ggKG5hbWUsICEhT19CSU5BUlksIE5V TEwpOwogICBpZiAoZmlsZSA9PSBOVUxMKQogICAgIG00X2ZhaWx1cmUgKGVycm5vLCBfKCJjYW5u b3Qgb3BlbiAlcyIpLCBuYW1lKTsKICAgY3VycmVudF9maWxlID0gbmFtZTsKZGlmZiAtLWdpdCBh L3NyYy9tNC5jIGIvc3JjL200LmMKaW5kZXggMTRmNGY3NTMuLjUyOTI2MTM5IDEwMDY0NAotLS0g YS9zcmMvbTQuYworKysgYi9zcmMvbTQuYwpAQCAtMzc2LDcgKzM3Niw3IEBAIHByb2Nlc3NfZmls ZSAoY29uc3QgY2hhciAqbmFtZSkKICAgZWxzZQogICAgIHsKICAgICAgIGNoYXIgKmZ1bGxfbmFt ZTsKLSAgICAgIEZJTEUgKmZwID0gbTRfcGF0aF9zZWFyY2ggKG5hbWUsICZmdWxsX25hbWUpOwor ICAgICAgRklMRSAqZnAgPSBtNF9wYXRoX3NlYXJjaCAobmFtZSwgZmFsc2UsICZmdWxsX25hbWUp OwogICAgICAgaWYgKGZwID09IE5VTEwpCiAgICAgICAgIHsKICAgICAgICAgICBlcnJvciAoMCwg ZXJybm8sIF8oImNhbm5vdCBvcGVuIGAlcyciKSwgbmFtZSk7CmRpZmYgLS1naXQgYS9zcmMvbTQu aCBiL3NyYy9tNC5oCmluZGV4IDkwODNhMjgxLi4wNjIyMDBhMSAxMDA2NDQKLS0tIGEvc3JjL200 LmgKKysrIGIvc3JjL200LmgKQEAgLTQ1OCw3ICs0NTgsNyBAQCBleHRlcm4gY29uc3QgYnVpbHRp biAqZmluZF9idWlsdGluX2J5X25hbWUgKGNvbnN0IGNoYXIgKik7CiBleHRlcm4gdm9pZCBpbmNs dWRlX2luaXQgKHZvaWQpOwogZXh0ZXJuIHZvaWQgaW5jbHVkZV9lbnZfaW5pdCAodm9pZCk7CiBl eHRlcm4gdm9pZCBhZGRfaW5jbHVkZV9kaXJlY3RvcnkgKGNvbnN0IGNoYXIgKik7Ci1leHRlcm4g RklMRSAqbTRfcGF0aF9zZWFyY2ggKGNvbnN0IGNoYXIgKiwgY2hhciAqKik7CitleHRlcm4gRklM RSAqbTRfcGF0aF9zZWFyY2ggKGNvbnN0IGNoYXIgKiwgYm9vbCwgY2hhciAqKik7CiAMCiAvKiBG aWxlOiBldmFsLmMgIC0tLSBleHByZXNzaW9uIGV2YWx1YXRpb24uICAqLwoKZGlmZiAtLWdpdCBh L3NyYy9wYXRoLmMgYi9zcmMvcGF0aC5jCmluZGV4IDM4MDRjZDU3Li5hZjVlN2NmMCAxMDA2NDQK LS0tIGEvc3JjL3BhdGguYworKysgYi9zcmMvcGF0aC5jCkBAIC0xMDYsMTEgKzEwNiwxMiBAQCBh ZGRfaW5jbHVkZV9kaXJlY3RvcnkgKGNvbnN0IGNoYXIgKmRpcikKIH0KCiAvKiBBdHRlbXB0IHRv IG9wZW4gRklMRTsgaWYgaXQgb3BlbnMsIHZlcmlmeSB0aGF0IGl0IGlzIG5vdCBhCi0gICBkaXJl Y3RvcnksIGFuZCBlbnN1cmUgaXQgZG9lcyBub3QgbGVhayBhY3Jvc3MgZXhlY3MuICAqLworICAg ZGlyZWN0b3J5LCBhbmQgZW5zdXJlIGl0IGRvZXMgbm90IGxlYWsgYWNyb3NzIGV4ZWNzLiAgVXNl IGJpbmFyeQorICAgbW9kZSBpbnN0ZWFkIG9mIHRleHQgaWYgQklOQVJZIGlzIHNldC4gICovCiBz dGF0aWMgRklMRSAqCi1tNF9mb3BlbiAoY29uc3QgY2hhciAqZmlsZSkKK200X2ZvcGVuIChjb25z dCBjaGFyICpmaWxlLCBib29sIGJpbmFyeSkKIHsKLSAgRklMRSAqZnAgPSBmb3BlbiAoZmlsZSwg InJlIik7CisgIEZJTEUgKmZwID0gZm9wZW4gKGZpbGUsIGJpbmFyeSA/ICJyYmUiIDogInJlIik7 CiAgIGlmIChmcCkKICAgICB7CiAgICAgICBzdHJ1Y3Qgc3RhdCBzdDsKQEAgLTEyNiwxMiArMTI3 LDEzIEBAIG00X2ZvcGVuIChjb25zdCBjaGFyICpmaWxlKQogfQoKIC8qIFNlYXJjaCBmb3IgRklM RSwgZmlyc3QgaW4gYC4nLCB0aGVuIGFjY29yZGluZyB0byAtSSBvcHRpb25zLiAgSWYKLSAgIHN1 Y2Nlc3NmdWwsIHJldHVybiB0aGUgb3BlbiBmaWxlLCBhbmQgaWYgUkVTVUxUIGlzIG5vdCBOVUxM LCBzZXQKLSAgICpSRVNVTFQgdG8gYSBtYWxsb2MnZCBzdHJpbmcgdGhhdCByZXByZXNlbnRzIHRo ZSBmaWxlIGZvdW5kIHdpdGgKLSAgIHJlc3BlY3QgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJl Y3RvcnkuICAqLworICAgc3VjY2Vzc2Z1bCwgcmV0dXJuIHRoZSBvcGVuIGZpbGUgKGluIEJJTkFS WSBtb2RlIGlmIHJlcXVlc3RlZCksIGFuZAorICAgaWYgUkVTVUxUIGlzIG5vdCBOVUxMLCBzZXQg KlJFU1VMVCB0byBhIG1hbGxvYydkIHN0cmluZyB0aGF0CisgICByZXByZXNlbnRzIHRoZSBmaWxl IGZvdW5kIHdpdGggcmVzcGVjdCB0byB0aGUgY3VycmVudCB3b3JraW5nCisgICBkaXJlY3Rvcnku ICAqLwoKIEZJTEUgKgotbTRfcGF0aF9zZWFyY2ggKGNvbnN0IGNoYXIgKmZpbGUsIGNoYXIgKipy ZXN1bHQpCittNF9wYXRoX3NlYXJjaCAoY29uc3QgY2hhciAqZmlsZSwgYm9vbCBiaW5hcnksIGNo YXIgKipyZXN1bHQpCiB7CiAgIEZJTEUgKmZwOwogICBpbmNsdWRlcyAqaW5jbDsKQEAgLTE0OSw3 ICsxNTEsNyBAQCBtNF9wYXRoX3NlYXJjaCAoY29uc3QgY2hhciAqZmlsZSwgY2hhciAqKnJlc3Vs dCkKICAgICB9CgogICAvKiBMb29rIGluIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgZmlyc3Qu ICAqLwotICBmcCA9IG00X2ZvcGVuIChmaWxlKTsKKyAgZnAgPSBtNF9mb3BlbiAoZmlsZSwgYmlu YXJ5KTsKICAgaWYgKGZwICE9IE5VTEwpCiAgICAgewogICAgICAgaWYgKHJlc3VsdCkKQEAgLTE3 MCw3ICsxNzIsNyBAQCBtNF9wYXRoX3NlYXJjaCAoY29uc3QgY2hhciAqZmlsZSwgY2hhciAqKnJl c3VsdCkKICAgICAgIHhmcHJpbnRmIChzdGRlcnIsICJtNF9wYXRoX3NlYXJjaCAoJXMpIC0tIHRy eWluZyAlc1xuIiwgZmlsZSwgbmFtZSk7CiAjZW5kaWYKCi0gICAgICBmcCA9IG00X2ZvcGVuIChu YW1lKTsKKyAgICAgIGZwID0gbTRfZm9wZW4gKG5hbWUsIGJpbmFyeSk7CiAgICAgICBpZiAoZnAg IT0gTlVMTCkKICAgICAgICAgewogICAgICAgICAgIGlmIChkZWJ1Z19sZXZlbCAmIERFQlVHX1RS QUNFX1BBVEgpCi0tIAoyLjQ5LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpNNC1wYXRjaGVzIG1haWxpbmcgbGlzdApNNC1wYXRjaGVzQGdudS5vcmcK aHR0cHM6Ly9saXN0cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vbTQtcGF0Y2hlcwo=