[COMMIT] Be less misleading in errors, data.c

Aidan Kehoe <[email protected]> Sat, 9 May 2015 10:52:21 +0100
Newsgroups gmane.emacs.xemacs.patches
Message-ID <[email protected]>
CkFQUFJPVkUgQ09NTUlUCgpOT1RFOiBUaGlzIHBhdGNoIGhhcyBiZWVuIGNvbW1pdHRlZC4KCiMg
SEcgY2hhbmdlc2V0IHBhdGNoCiMgVXNlciBBaWRhbiBLZWhvZSA8a2Vob2VhQHBhcmhhc2FyZC5u
ZXQ+CiMgRGF0ZSAxNDMxMTY1MDMyIC0zNjAwCiMgICAgICBTYXQgTWF5IDA5IDEwOjUwOjMyIDIw
MTUgKzAxMDAKIyBOb2RlIElEIGViMWUxNWM5NDQwYmJhM2JjOTZmMTZiYzc1MDI2OTI4N2M2OGU1
ZjUKIyBQYXJlbnQgIGQxMzhlNjAwYWEzYWE1YTU4ZDFmNzUxYTNjZTdlZWI5NzdlMTAxOWMKQmUg
bGVzcyBtaXNsZWFkaW5nIGluIGVycm9ycywgZGF0YS5jCgpzcmMvQ2hhbmdlTG9nIGFkZGl0aW9u
OgoKMjAxNS0wNS0wOSAgQWlkYW4gS2Vob2UgIDxrZWhvZWFAcGFyaGFzYXJkLm5ldD4KCgkqIGRh
dGEuYyAoRmxvZ2FuZCk6CgkqIGRhdGEuYyAoRmxvZ2lvcik6CgkqIGRhdGEuYyAoRnJlbSk6Cgkq
IGRhdGEuYyAoRmxzaCk6CglHaXZlIGxlc3MgbWlzbGVhZGluZyBlcnJvcnMgaW4gYWxsIHRoZXNl
IGZ1bmN0aW9ucywgZS5nLiBzdXBwbHlpbmcKCSMnaW50ZWdlci1jaGFyLW9yLW1hcmtlciBhcyB0
aGUgcHJlZGljYXRlIG9uIHdyb25nLXR5cGUtYXJndW1lbnQsCgl3aGVuIGZsb2F0IHdvdWxkIG5v
dCBiZSBhY2NlcHRlZC4KCmRpZmYgLXIgZDEzOGU2MDBhYTNhIC1yIGViMWUxNWM5NDQwYiBzcmMv
Q2hhbmdlTG9nCi0tLSBhL3NyYy9DaGFuZ2VMb2cJU2F0IE1heSAwOSAwMToyMzo0NSAyMDE1ICsw
MTAwCisrKyBiL3NyYy9DaGFuZ2VMb2cJU2F0IE1heSAwOSAxMDo1MDozMiAyMDE1ICswMTAwCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTUtMDUtMDkgIEFpZGFuIEtlaG9lICA8a2Vob2VhQHBhcmhhc2Fy
ZC5uZXQ+CisKKwkqIGRhdGEuYyAoRmxvZ2FuZCk6CisJKiBkYXRhLmMgKEZsb2dpb3IpOgorCSog
ZGF0YS5jIChGcmVtKToKKwkqIGRhdGEuYyAoRmxzaCk6CisJR2l2ZSBsZXNzIG1pc2xlYWRpbmcg
ZXJyb3JzIGluIGFsbCB0aGVzZSBmdW5jdGlvbnMsIGUuZy4gc3VwcGx5aW5nCisJIydpbnRlZ2Vy
LWNoYXItb3ItbWFya2VyIGFzIHRoZSBwcmVkaWNhdGUgb24gd3JvbmctdHlwZS1hcmd1bWVudCwK
Kwl3aGVuIGZsb2F0IHdvdWxkIG5vdCBiZSBhY2NlcHRlZC4KKwogMjAxNS0wNS0wOSAgQWlkYW4g
S2Vob2UgIDxrZWhvZWFAcGFyaGFzYXJkLm5ldD4KIAogCSogbHJlYWQuYyAocmVhZF9yYXRpb25h
bCk6CmRpZmYgLXIgZDEzOGU2MDBhYTNhIC1yIGViMWUxNWM5NDQwYiBzcmMvZGF0YS5jCi0tLSBh
L3NyYy9kYXRhLmMJU2F0IE1heSAwOSAwMToyMzo0NSAyMDE1ICswMTAwCisrKyBiL3NyYy9kYXRh
LmMJU2F0IE1heSAwOSAxMDo1MDozMiAyMDE1ICswMTAwCkBAIC0yNjk1LDcgKzI2OTUsNyBAQAog
ICAgIHJldHVybiBtYWtlX2ZpeG51bSAofjApOwogCiAgIHdoaWxlICghKENIQVJQIChhcmdzWzBd
KSB8fCBNQVJLRVJQIChhcmdzWzBdKSB8fCBJTlRFR0VSUCAoYXJnc1swXSkpKQotICAgIGFyZ3Nb
MF0gPSB3cm9uZ190eXBlX2FyZ3VtZW50IChRbnVtYmVyX2NoYXJfb3JfbWFya2VyX3AsIGFyZ3Nb
MF0pOworICAgIGFyZ3NbMF0gPSB3cm9uZ190eXBlX2FyZ3VtZW50IChRaW50ZWdlcl9jaGFyX29y
X21hcmtlcl9wLCBhcmdzWzBdKTsKIAogICByZXN1bHQgPSBhcmdzWzBdOwogICBpZiAoQ0hBUlAg
KHJlc3VsdCkpCkBAIC0yNzA1LDcgKzI3MDUsNyBAQAogICBmb3IgKGkgPSAxOyBpIDwgbmFyZ3M7
IGkrKykKICAgICB7CiAgICAgICB3aGlsZSAoIShDSEFSUCAoYXJnc1tpXSkgfHwgTUFSS0VSUCAo
YXJnc1tpXSkgfHwgSU5URUdFUlAgKGFyZ3NbaV0pKSkKLQlhcmdzW2ldID0gd3JvbmdfdHlwZV9h
cmd1bWVudCAoUW51bWJlcl9jaGFyX29yX21hcmtlcl9wLCBhcmdzW2ldKTsKKwlhcmdzW2ldID0g
d3JvbmdfdHlwZV9hcmd1bWVudCAoUWludGVnZXJfY2hhcl9vcl9tYXJrZXJfcCwgYXJnc1tpXSk7
CiAgICAgICBvdGhlciA9IGFyZ3NbaV07CiAgICAgICBzd2l0Y2ggKHByb21vdGVfYXJncyAoJnJl
c3VsdCwgJm90aGVyKSkKIAl7CkBAIC0yNzQ3LDcgKzI3NDcsNyBAQAogICAgIHJldHVybiBtYWtl
X2ZpeG51bSAoMCk7CiAKICAgd2hpbGUgKCEoQ0hBUlAgKGFyZ3NbMF0pIHx8IE1BUktFUlAgKGFy
Z3NbMF0pIHx8IElOVEVHRVJQIChhcmdzWzBdKSkpCi0gICAgYXJnc1swXSA9IHdyb25nX3R5cGVf
YXJndW1lbnQgKFFudW1iZXJfY2hhcl9vcl9tYXJrZXJfcCwgYXJnc1swXSk7CisgICAgYXJnc1sw
XSA9IHdyb25nX3R5cGVfYXJndW1lbnQgKFFpbnRlZ2VyX2NoYXJfb3JfbWFya2VyX3AsIGFyZ3Nb
MF0pOwogCiAgIHJlc3VsdCA9IGFyZ3NbMF07CiAgIGlmIChDSEFSUCAocmVzdWx0KSkKQEAgLTI3
NTcsNyArMjc1Nyw3IEBACiAgIGZvciAoaSA9IDE7IGkgPCBuYXJnczsgaSsrKQogICAgIHsKICAg
ICAgIHdoaWxlICghKENIQVJQIChhcmdzW2ldKSB8fCBNQVJLRVJQIChhcmdzW2ldKSB8fCBJTlRF
R0VSUCAoYXJnc1tpXSkpKQotCWFyZ3NbaV0gPSB3cm9uZ190eXBlX2FyZ3VtZW50IChRbnVtYmVy
X2NoYXJfb3JfbWFya2VyX3AsIGFyZ3NbaV0pOworCWFyZ3NbaV0gPSB3cm9uZ190eXBlX2FyZ3Vt
ZW50IChRaW50ZWdlcl9jaGFyX29yX21hcmtlcl9wLCBhcmdzW2ldKTsKICAgICAgIG90aGVyID0g
YXJnc1tpXTsKICAgICAgIHN3aXRjaCAocHJvbW90ZV9hcmdzICgmcmVzdWx0LCAmb3RoZXIpKQog
CXsKQEAgLTI4NjIsOSArMjg2Miw5IEBACiB7CiAjaWZkZWYgSEFWRV9CSUdOVU0KICAgd2hpbGUg
KCEoQ0hBUlAgKG51bWJlcjEpIHx8IE1BUktFUlAgKG51bWJlcjEpIHx8IElOVEVHRVJQIChudW1i
ZXIxKSkpCi0gICAgbnVtYmVyMSA9IHdyb25nX3R5cGVfYXJndW1lbnQgKFFudW1iZXJfY2hhcl9v
cl9tYXJrZXJfcCwgbnVtYmVyMSk7CisgICAgbnVtYmVyMSA9IHdyb25nX3R5cGVfYXJndW1lbnQg
KFFpbnRlZ2VyX2NoYXJfb3JfbWFya2VyX3AsIG51bWJlcjEpOwogICB3aGlsZSAoIShDSEFSUCAo
bnVtYmVyMikgfHwgTUFSS0VSUCAobnVtYmVyMikgfHwgSU5URUdFUlAgKG51bWJlcjIpKSkKLSAg
ICBudW1iZXIyID0gd3JvbmdfdHlwZV9hcmd1bWVudCAoUW51bWJlcl9jaGFyX29yX21hcmtlcl9w
LCBudW1iZXIyKTsKKyAgICBudW1iZXIyID0gd3JvbmdfdHlwZV9hcmd1bWVudCAoUWludGVnZXJf
Y2hhcl9vcl9tYXJrZXJfcCwgbnVtYmVyMik7CiAKICAgaWYgKHByb21vdGVfYXJncyAoJm51bWJl
cjEsICZudW1iZXIyKSA9PSBGSVhOVU1fVCkKICAgICB7CkBAIC0zMDMzLDcgKzMwMzMsNyBAQAog
ewogI2lmZGVmIEhBVkVfQklHTlVNCiAgIHdoaWxlICghKENIQVJQICh2YWx1ZSkgfHwgTUFSS0VS
UCAodmFsdWUpIHx8IElOVEVHRVJQICh2YWx1ZSkpKQotICAgIHdyb25nX3R5cGVfYXJndW1lbnQg
KFFudW1iZXJfY2hhcl9vcl9tYXJrZXJfcCwgdmFsdWUpOworICAgIHdyb25nX3R5cGVfYXJndW1l
bnQgKFFpbnRlZ2VyX2NoYXJfb3JfbWFya2VyX3AsIHZhbHVlKTsKICAgQ09OQ0hFQ0tfSU5URUdF
UiAoY291bnQpOwogCiAgIGlmIChwcm9tb3RlX2FyZ3MgKCZ2YWx1ZSwgJmNvdW50KSA9PSBGSVhO
VU1fVCkKQEAgLTMwNTAsMTUgKzMwNTAsMjggQEAKICAgICAgIGlmIChiaWdudW1fc2lnbiAoWEJJ
R05VTV9EQVRBIChjb3VudCkpIDw9IDApCiAJewogCSAgYmlnbnVtX25lZyAoc2NyYXRjaF9iaWdu
dW0sIFhCSUdOVU1fREFUQSAoY291bnQpKTsKKyAgICAgICAgICAvKiBTaWdoLCB0aGlzIHdvbid0
IGNhdGNoIGFsbCBvdmVyZmxvd3MgaW4gdGhlIE1QWiB0eXBlIHVuZGVyIEdNUCwKKyAgICAgICAg
ICAgICBhbmQgdGhlcmUncyBubyB3YXkgdG8gaG9vayBpbnRvIHRoZSBsaWJyYXJ5IHNvIHRoYXQg
YW4gb3ZlcmZsb3cKKyAgICAgICAgICAgICBlcnJvcnMgcmF0aGVyIHRoYW4gYWJvcnRpbmcuIFNl
ZQorICAgICAgICAgICAgIGh0dHA6Ly9taWQuZ21hbmUub3JnLzU1MjkuMjA5Ni5lNTgyMy5jY2Jh
QHBhcmhhc2FyZC5uZXQgLiAqLwogCSAgaWYgKCFiaWdudW1fZml0c191bG9uZ19wIChzY3JhdGNo
X2JpZ251bSkpCi0JICAgIGFyZ3Nfb3V0X29mX3JhbmdlIChRbnVtYmVyX2NoYXJfb3JfbWFya2Vy
X3AsIGNvdW50KTsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgYXJnc19vdXRfb2ZfcmFu
Z2VfMyAoY291bnQsCisJCQkJICAgbWFrZV9iaWdudW1fbGwgKC0gKGxvbmcgbG9uZykoVUxPTkdf
TUFYKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ha2VfYmlnbnVtX2xs
IChVTE9OR19NQVgpKTsKKyAgICAgICAgICAgIH0KIAkgIGJpZ251bV9yc2hpZnQgKHNjcmF0Y2hf
YmlnbnVtMiwgWEJJR05VTV9EQVRBICh2YWx1ZSksCiAJCQkgYmlnbnVtX3RvX3Vsb25nIChzY3Jh
dGNoX2JpZ251bSkpOwogCX0KICAgICAgIGVsc2UKIAl7CisgICAgICAgICAgLyogU2VlIGFib3Zl
IHJlIG92ZXJmbG93LiAqLwogCSAgaWYgKCFiaWdudW1fZml0c191bG9uZ19wIChYQklHTlVNX0RB
VEEgKGNvdW50KSkpCi0JICAgIGFyZ3Nfb3V0X29mX3JhbmdlIChRbnVtYmVyX2NoYXJfb3JfbWFy
a2VyX3AsIGNvdW50KTsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgYXJnc19vdXRfb2Zf
cmFuZ2VfMyAoY291bnQsCisJCQkJICAgbWFrZV9iaWdudW1fbGwgKC0gKGxvbmcgbG9uZykgKFVM
T05HX01BWCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlX2JpZ251
bV9sbCAoVUxPTkdfTUFYKSk7CisgICAgICAgICAgICB9CiAJICBiaWdudW1fbHNoaWZ0IChzY3Jh
dGNoX2JpZ251bTIsIFhCSUdOVU1fREFUQSAodmFsdWUpLAogCQkJIGJpZ251bV90b191bG9uZyAo
WEJJR05VTV9EQVRBIChjb3VudCkpKTsKIAl9CgoKLS0gCuKAmFRyYW1hZG9sIGlzIGZ1cnRoZXIg
ZmVkIHRvIGNhdHRsZSBb4oCmXSB3aGVuIHdvcmtpbmcgdGhlbSBb4oCmXSAoYXMgZHJhZnQKYW5p
bWFscykgc28gdGhhdCB0aGUgYW5pbWFscyBkbyBub3QgZ2V0IHRpcmVkIHF1aWNrbHkuIOKApuKA
mQoJ4oCUIEFuZ2V3YW5kdGUgQ2hlbWllLCBTZXB0IDIwMTQsIGRlc2NyaWJpbmcgdGhlIHNvY2lh
bCBjb250ZXh0IG9mCgkoc3ludGhldGljKSB0cmFtYWRvbCBoYXZpbmcgYmVlbiBmb3VuZCBpbiBD
YW1lcm9vbiB0cmVlIHJvb3RzLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KWEVtYWNzLVBhdGNoZXMgbWFpbGluZyBsaXN0ClhFbWFjcy1QYXRjaGVzQHhl
bWFjcy5vcmcKaHR0cDovL2xpc3RzLnhlbWFjcy5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW1hY3Mt
cGF0Y2hlcwo=