[PATCH 2/2] ccanlint: Move ccanlint test options from _info comments to code
David Gibson <[email protected]> Sun, 25 Dec 2016 15:49:15 +1100
| Newsgroups | org.ozlabs.lists.ccan |
|---|---|
| Message-ID | <[email protected]> |
Q3VycmVudGx5LCBfaW5mbyBmaWxlcyBjYW4gc3BlY2lmeSBvcHRpb25zLCBvciBub3RlIGV4cGVj dGVkIGZhaWx1cmVzLCBmb3IKY2NhbmxpbnQgY2hlY2tzIGluIHRoZSBfaW5mbyBmaWxlIHdpdGgg c3BlY2lhbGx5IHN0cnVjdHVyZWQgY29tbWVudHMuIFRoYXQKZGlmZmVycyBmcm9tIG1vc3Qgb3Ro ZXIgdGhpbmdzIGNjYW5saW50IGdldHMgZnJvbSBfaW5mbywgd2hlcmUgaXQgaW5zdGVhZApleGVj dXRlcyB0aGUgaW5mbyBmaWxlIHdpdGggY2VydGFpbiBwYXJhbWV0ZXJzLgoKVGhpcyBjaGFuZ2Vz IGNjYW5saW50IGFuZCBleGlzdGluZyBfaW5mbyBmaWxlcyB0byB1c2UgdGhlIG5vcm1hbCBtZXRo b2QgZm9yCnRoZSBjY2FubGludCB0ZXN0IG9wdGlvbnMgYXMgd2VsbC4gIFRoaXMgYWxzbyBoYXMg dGhlIGFkdmFudGFnZSB0aGF0IGFuCmluZm8gZmlsZSBjYW4gYWx0ZXIgaXRzIHRlc3Qgb3B0aW9u cyBiYXNlZCBvbiB0aGluZ3MgZnJvbSBjb25maWcuaCAtIGluCnNvbWUgY2FzZXMgd2hldGhlciBh IHRlc3QgY2FuIHdvcmsgb3Igbm90IG1pZ2h0IGRlcGVuZCBvbiB2YXJpb3VzIHRoaW5ncy4KClNp Z25lZC1vZmYtYnk6IERhdmlkIEdpYnNvbiA8ZGF2aWRAZ2lic29uLmRyb3BiZWFyLmlkLmF1Pgot LS0KIGNjYW4vYmxvY2tfcG9vbC9faW5mbyAgICAgICAgICAgICAgfCAgOSArKystLQogY2Nhbi9j Y2FuX3Rva2VuaXplci9faW5mbyAgICAgICAgICB8IDE0ICsrKystLS0tCiBjY2FuL2Nvcm91dGlu ZS9faW5mbyAgICAgICAgICAgICAgIHwgMTAgKysrLS0tCiBjY2FuL2NyY3N5bmMvX2luZm8gICAg ICAgICAgICAgICAgIHwgIDggKysrLS0KIGNjYW4vZGVxdWUvX2luZm8gICAgICAgICAgICAgICAg ICAgfCAxNCArKysrLS0tLQogY2Nhbi9nZW5lcmF0b3IvX2luZm8gICAgICAgICAgICAgICB8IDE0 ICsrKystLS0tCiBjY2FuL21pbm1heC9faW5mbyAgICAgICAgICAgICAgICAgIHwgMTAgKysrLS0t CiBjY2FuL3JzenNobS9faW5mbyAgICAgICAgICAgICAgICAgIHwgMTIgKysrKy0tLQogY2Nhbi9z dHJpbmdtYXAvX2luZm8gICAgICAgICAgICAgICB8ICA5ICsrKy0tCiB0b29scy9jY2FubGludC9j Y2FubGludC5jICAgICAgICAgIHwgNzEgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0KIHRvb2xzL2NjYW5saW50L2NjYW5saW50LmggICAgICAgICAgfCAgMiArLQogdG9vbHMv Y2NhbmxpbnQvdGVzdHMvaW5mb19leGlzdHMuYyB8ICAyICstCiB0b29scy9kZXBlbmRzLmMgICAg ICAgICAgICAgICAgICAgIHwgMTggKysrKysrKysrKwogdG9vbHMvdG9vbHMuaCAgICAgICAgICAg ICAgICAgICAgICB8ICAzICsrCiAxNCBmaWxlcyBjaGFuZ2VkLCAxMTUgaW5zZXJ0aW9ucygrKSwg ODEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY2Nhbi9ibG9ja19wb29sL19pbmZvIGIvY2Nh bi9ibG9ja19wb29sL19pbmZvCmluZGV4IGE0MmNkYmEuLmUyMTY5NzYgMTAwNjQ0Ci0tLSBhL2Nj YW4vYmxvY2tfcG9vbC9faW5mbworKysgYi9jY2FuL2Jsb2NrX3Bvb2wvX2luZm8KQEAgLTM4LDkg KzM4LDYgQEAKICAqIEF1dGhvcjogSm9leSBBZGFtcyA8am9leWFkYW1zMy4xNDE1OUBnbWFpbC5j b20+CiAgKiBMaWNlbnNlOiBNSVQKICAqIFZlcnNpb246IDAuMQotICogQ2NhbmxpbnQ6Ci0gKgkv LyBXZSBhY3R1YWxseSBkZXBlbmQgb24gdGhlIExHUEwgdGFsbG9jCi0gKglsaWNlbnNlX2RlcGVu ZHNfY29tcGF0IEZBSUwKICAqLwogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsK QEAgLTUzLDUgKzUwLDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJCXJl dHVybiAwOwogCX0KIAorCWlmIChzdHJjbXAoYXJndlsxXSwgImNjYW5saW50IikgPT0gMCkgewor CQkvKiBXZSBhY3R1YWxseSBkZXBlbmQgb24gdGhlIExHUEwgdGFsbG9jICovCisJCXByaW50Zigi bGljZW5zZV9kZXBlbmRzX2NvbXBhdCBGQUlMXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCiAJcmV0 dXJuIDE7CiB9CmRpZmYgLS1naXQgYS9jY2FuL2NjYW5fdG9rZW5pemVyL19pbmZvIGIvY2Nhbi9j Y2FuX3Rva2VuaXplci9faW5mbwppbmRleCBlZTE0NzdhLi5mNTExNmI0IDEwMDY0NAotLS0gYS9j Y2FuL2NjYW5fdG9rZW5pemVyL19pbmZvCisrKyBiL2NjYW4vY2Nhbl90b2tlbml6ZXIvX2luZm8K QEAgLTgyLDEyICs4Miw2IEBACiAgKiB9CiAgKgogICogTGljZW5zZTogQlNEICgzIGNsYXVzZSkK LSAqCi0gKiBDY2FubGludDoKLSAqCS8vIFdlIGFjdHVhbGx5IGRlcGVuZCBvbiB0aGUgTEdQTCBk ZXBlbmRlbmNpZXMKLSAqCWxpY2Vuc2VfZGVwZW5kc19jb21wYXQgRkFJTAotICoJLy8gV2UgZG9u J3QgcHV0IHRoZSBsaWNlbnNlIGxpbmUgaW4gYWxsIGZpbGVzLgotICoJbGljZW5zZV9jb21tZW50 IEZBSUwKICAqLwogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsKQEAgLTEwMSw1 ICs5NSwxMyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQlyZXR1cm4gMDsK IAl9CiAKKwlpZiAoc3RyY21wKGFyZ3ZbMV0sICJjY2FubGludCIpID09IDApIHsKKwkJLyogV2Ug YWN0dWFsbHkgZGVwZW5kIG9uIHRoZSBMR1BMIGRlcGVuZGVuY2llcyAqLworCQlwcmludGYoImxp Y2Vuc2VfZGVwZW5kc19jb21wYXQgRkFJTFxuIik7CisJCS8qIFdlIGRvbid0IHB1dCB0aGUgbGlj ZW5zZSBsaW5lIGluIGFsbCBmaWxlcy4gKi8KKwkJcHJpbnRmKCJsaWNlbnNlX2NvbW1lbnQgRkFJ TFxuIik7CisJCXJldHVybiAwOworCX0KKwogCXJldHVybiAxOwogfQpkaWZmIC0tZ2l0IGEvY2Nh bi9jb3JvdXRpbmUvX2luZm8gYi9jY2FuL2Nvcm91dGluZS9faW5mbwppbmRleCBhOTk2MjljLi4w N2U0Yjk2IDEwMDY0NAotLS0gYS9jY2FuL2Nvcm91dGluZS9faW5mbworKysgYi9jY2FuL2Nvcm91 dGluZS9faW5mbwpAQCAtMTQsMTAgKzE0LDYgQEAKICAqCiAgKiBBdXRob3I6IERhdmlkIEdpYnNv biA8ZGF2aWRAZ2lic29uLmRyb3BiZWFyLmlkLmF1PgogICogTGljZW5zZTogTEdQTCAodjIuMSBv ciBhbnkgbGF0ZXIgdmVyc2lvbikKLSAqCi0gKiBDY2FubGludDoKLSAqCS8vIENvbnRleHQgc3dp dGNoaW5nIHJlYWxseSBjb25mdXNlcyB2YWxncmluZAotICoJdGVzdHNfcGFzc192YWxncmluZCBG QUlMCiAgKi8KIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7CkBAIC00MCw1ICsz NiwxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQlyZXR1cm4gMDsKIAl9 CiAKKwlpZiAoc3RyY21wKGFyZ3ZbMV0sICJjY2FubGludCIpID09IDApIHsKKwkJLyogQ29udGV4 dCBzd2l0Y2hpbmcgcmVhbGx5IGNvbmZ1c2VzIHZhbGdyaW5kICovCisJCXByaW50ZigidGVzdHNf cGFzc192YWxncmluZCBGQUlMXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCiAJcmV0dXJuIDE7CiB9 CmRpZmYgLS1naXQgYS9jY2FuL2NyY3N5bmMvX2luZm8gYi9jY2FuL2NyY3N5bmMvX2luZm8KaW5k ZXggOWViYjhiZC4uNzUxNmY0NCAxMDA2NDQKLS0tIGEvY2Nhbi9jcmNzeW5jL19pbmZvCisrKyBi L2NjYW4vY3Jjc3luYy9faW5mbwpAQCAtNzEsOSArNzEsNiBAQAogICoKICAqIExpY2Vuc2U6IExH UEwgKHYyLjEgb3IgYW55IGxhdGVyIHZlcnNpb24pCiAgKiBBdXRob3I6IFJ1c3R5IFJ1c3NlbGwg PHJ1c3R5QHJ1c3Rjb3JwLmNvbS5hdT4KLSAqIENjYW5saW50OgotICoJLy8gV2UgYWN0dWFsbHkg ZGVwZW5kIG9uIHRoZSBHUEwgY3JjIHJvdXRpbmVzLCBzbyBub3QgcmVhbGx5IExHUEwgOigKLSAq CWxpY2Vuc2VfZGVwZW5kc19jb21wYXQgRkFJTAogICovCiBpbnQgbWFpbihpbnQgYXJnYywgY2hh ciAqYXJndltdKQogewpAQCAtODgsNiArODUsMTEgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg KmFyZ3ZbXSkKIAkJcHJpbnRmKCJjY2FuL2FycmF5X3NpemVcbiIpOwogCQlyZXR1cm4gMDsKIAl9 CisJaWYgKHN0cmNtcChhcmd2WzFdLCAiY2NhbmxpbnQiKSA9PSAwKSB7CisJCS8qIFdlIGFjdHVh bGx5IGRlcGVuZCBvbiB0aGUgR1BMIGNyYyByb3V0aW5lcywgc28gbm90IHJlYWxseSBMR1BMIDoo ICovCisJCXByaW50ZigibGljZW5zZV9kZXBlbmRzX2NvbXBhdCBGQUlMXG4iKTsKKwkJcmV0dXJu IDA7CisJfQogCiAJcmV0dXJuIDE7CiB9CmRpZmYgLS1naXQgYS9jY2FuL2RlcXVlL19pbmZvIGIv Y2Nhbi9kZXF1ZS9faW5mbwppbmRleCA2MzY4N2I3Li4xYzU0NjBmIDEwMDY0NAotLS0gYS9jY2Fu L2RlcXVlL19pbmZvCisrKyBiL2NjYW4vZGVxdWUvX2luZm8KQEAgLTEyMiwxMiArMTIyLDYgQEAK ICAqCiAgKiBMaWNlbnNlOiBBUEFDSEUtMgogICogQXV0aG9yOiBEYW4gR29vZCA8ZGFuQGRhbmNh bmNvZGUuY29tPgotICoKLSAqIENjYW5saW50OgotICoJLy8gdXNlcyBzdGF0ZW1lbnQgZXhwcmVz c2lvbnMKLSAqCS8vIHN1cHBvcnRlZCBieSBnY2MsIGNsYW5nLCBpY2MsIGFuZCBzb21lIG90aGVy cywgYnV0IG5vdCBtc3ZjCi0gKgkvLyAoc2VlIGh0dHBzOi8vZ2NjLmdudS5vcmcvb25saW5lZG9j cy9nY2MvU3RhdGVtZW50LUV4cHJzLmh0bWwpCi0gKglvYmplY3RzX2J1aWxkX3dpdGhvdXRfZmVh dHVyZXMgRkFJTAogICovCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogewpAQCAt MTQyLDUgKzEzNiwxMyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQlyZXR1 cm4gMDsKIAl9CiAKKwlpZiAoc3RyY21wKGFyZ3ZbMV0sICJjY2FubGludCIpID09IDApIHsKKwkJ LyogdXNlcyBzdGF0ZW1lbnQgZXhwcmVzc2lvbnMKKwkJICogc3VwcG9ydGVkIGJ5IGdjYywgY2xh bmcsIGljYywgYW5kIHNvbWUgb3RoZXJzLCBidXQgbm90IG1zdmMKKwkJICogKHNlZSBodHRwczov L2djYy5nbnUub3JnL29ubGluZWRvY3MvZ2NjL1N0YXRlbWVudC1FeHBycy5odG1sKSAqLworCQlw cmludGYoIm9iamVjdHNfYnVpbGRfd2l0aG91dF9mZWF0dXJlcyBGQUlMXG4iKTsKKwkJcmV0dXJu IDA7CisJfQorCiAJcmV0dXJuIDE7CiB9CmRpZmYgLS1naXQgYS9jY2FuL2dlbmVyYXRvci9faW5m byBiL2NjYW4vZ2VuZXJhdG9yL19pbmZvCmluZGV4IGU0MGQ3YmIuLmFhNjA0OGUgMTAwNjQ0Ci0t LSBhL2NjYW4vZ2VuZXJhdG9yL19pbmZvCisrKyBiL2NjYW4vZ2VuZXJhdG9yL19pbmZvCkBAIC00 MywxMiArNDMsNiBAQAogICoKICAqIEF1dGhvcjogRGF2aWQgR2lic29uIDxkYXZpZEBnaWJzb24u ZHJvcGJlYXIuaWQuYXU+CiAgKiBMaWNlbnNlOiBMR1BMICh2Mi4xIG9yIGFueSBsYXRlciB2ZXJz aW9uKQotICoKLSAqIENjYW5saW50OgotICogICAgICAvLyBXZSBuZWVkIHNldmVyYWwgZ2NjIGV4 dGVuc2lvbnMKLSAqCW9iamVjdHNfYnVpbGRfd2l0aG91dF9mZWF0dXJlcyBGQUlMCi0gKiAgICAg IHRlc3RzX2NvbXBpbGVfd2l0aG91dF9mZWF0dXJlcyBGQUlMCi0gKgl0ZXN0c19oZWxwZXJzX2Nv bXBpbGVfd2l0aG91dF9mZWF0dXJlcyBGQUlMCiAgKi8KIGludCBtYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pCiB7CkBAIC03OCw1ICs3MiwxMyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq YXJndltdKQogCQlyZXR1cm4gMDsKIAl9CiAKKwlpZiAoc3RyY21wKGFyZ3ZbMV0sICJjY2FubGlu dCIpID09IDApIHsKKwkJLyogV2UgbmVlZCBzZXZlcmFsIGdjYyBleHRlbnNpb25zICovCisJCXBy aW50Zigib2JqZWN0c19idWlsZF93aXRob3V0X2ZlYXR1cmVzIEZBSUxcbiIpOworCQlwcmludGYo InRlc3RzX2NvbXBpbGVfd2l0aG91dF9mZWF0dXJlcyBGQUlMXG4iKTsKKwkJcHJpbnRmKCJ0ZXN0 c19oZWxwZXJzX2NvbXBpbGVfd2l0aG91dF9mZWF0dXJlcyBGQUlMXG4iKTsKKwkJcmV0dXJuIDA7 CisJfQorCiAJcmV0dXJuIDE7CiB9CmRpZmYgLS1naXQgYS9jY2FuL21pbm1heC9faW5mbyBiL2Nj YW4vbWlubWF4L19pbmZvCmluZGV4IDRkOTUzMzYuLjJmNjQzN2UgMTAwNjQ0Ci0tLSBhL2NjYW4v bWlubWF4L19pbmZvCisrKyBiL2NjYW4vbWlubWF4L19pbmZvCkBAIC0yNiwxMCArMjYsNiBAQAog ICoKICAqIEF1dGhvcjogRGF2aWQgR2lic29uIDxkYXZpZEBnaWJzb24uZHJvcGJlYXIuaWQuYXU+ CiAgKiBMaWNlbnNlOiAgQ0MwIChQdWJsaWMgZG9tYWluKQotICoKLSAqIENjYW5saW50OgotICog ICAgICAvLyBXZSBuZWVkIHNldmVyYWwgZ2NjIGV4dGVuc2lvbnMKLSAqICAgICAgdGVzdHNfY29t cGlsZV93aXRob3V0X2ZlYXR1cmVzIEZBSUwKICAqLwogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg KmFyZ3ZbXSkKIHsKQEAgLTQyLDUgKzM4LDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICph cmd2W10pCiAJCXJldHVybiAwOwogCX0KIAorCWlmIChzdHJjbXAoYXJndlsxXSwgImNjYW5saW50 IikgPT0gMCkgeworCQkvKiBXZSBuZWVkIHNldmVyYWwgZ2NjIGV4dGVuc2lvbnMgKi8KKwkJcHJp bnRmKCJ0ZXN0c19jb21waWxlX3dpdGhvdXRfZmVhdHVyZXMgRkFJTFxuIik7CisJCXJldHVybiAw OworCX0KKwogCXJldHVybiAxOwogfQpkaWZmIC0tZ2l0IGEvY2Nhbi9yc3pzaG0vX2luZm8gYi9j Y2FuL3JzenNobS9faW5mbwppbmRleCBjYzk1NDAwLi5lOTEyMmUwIDEwMDY0NAotLS0gYS9jY2Fu L3JzenNobS9faW5mbworKysgYi9jY2FuL3JzenNobS9faW5mbwpAQCAtNzYsMTMgKzc2LDggQEAK ICAqIAkvLyAkIHRhaWwgLWMgKzI5IC9kZXYvc2htL3JzenNobV9MQXNFdnQvMCB8IHNlZCAncy8u LyZcbi9nJyB8IHNvcnQgfCB1bmlxIC1jIHwgdHIgJ1xuJyAnXHQnOyBlY2hvCiAgKiAJLy8gIDUx NTUzMiBBICAgNTI3MjUxIEIgICAgNTEyOTMwIEMgICAgNTEzMDYyIEQgICAgNTQ0MzI2IEUgICAg NTQ1ODc2IEYgICAgNTEyOTM2IEcgICAgNTIyMzYzIEgKICAqCi0gKiBDY2FubGludDogdGVzdHNf cGFzc192YWxncmluZCBGQUlMCiAgKiBMaWNlbnNlOiBBUEFDSEUtMgogICogQXV0aG9yOiBEYW4g R29vZCA8ZGFuQGRhbmNhbmNvZGUuY29tPgotICoKLSAqIENjYW5saW50OgotICoJLy8gdGVzdHMg dXNlIG9wdGlvbmFsIG1hY3JvcyBjb250YWluaW5nIHN0YXRlbWVudCBleHByZXNzaW9ucwotICoJ dGVzdHNfY29tcGlsZV93aXRob3V0X2ZlYXR1cmVzIEZBSUwKICAqLwogaW50IG1haW4oaW50IGFy Z2MsIGNoYXIgKmFyZ3ZbXSkKIHsKQEAgLTkzLDUgKzg4LDEyIEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICphcmd2W10pCiAJaWYgKHN0cmNtcChhcmd2WzFdLCAiZGVwZW5kcyIpID09IDApCiAJ CXJldHVybiAwOwogCisJaWYgKHN0cmNtcChhcmd2WzFdLCAiY2NhbmxpbnQiKSA9PSAwKSB7CisJ CXByaW50ZigidGVzdHNfcGFzc192YWxncmluZCBGQUlMXG4iKTsKKwkJLyogdGVzdHMgdXNlIG9w dGlvbmFsIG1hY3JvcyBjb250YWluaW5nIHN0YXRlbWVudCBleHByZXNzaW9ucyAqLworCQlwcmlu dGYoInRlc3RzX2NvbXBpbGVfd2l0aG91dF9mZWF0dXJlcyBGQUlMXG4iKTsKKwkJcmV0dXJuIDA7 CisJfQorCiAJcmV0dXJuIDE7CiB9CmRpZmYgLS1naXQgYS9jY2FuL3N0cmluZ21hcC9faW5mbyBi L2NjYW4vc3RyaW5nbWFwL19pbmZvCmluZGV4IDFmNjQ2NWIuLmMwMWM1NzYgMTAwNjQ0Ci0tLSBh L2NjYW4vc3RyaW5nbWFwL19pbmZvCisrKyBiL2NjYW4vc3RyaW5nbWFwL19pbmZvCkBAIC01Miw5 ICs1Miw2IEBACiAgKiBBdXRob3JzOiBKb2V5IEFkYW1zLCBBbmRlcnMgTWFnbnVzc29uCiAgKiBM aWNlbnNlOiBCU0QgKDMgY2xhdXNlKQogICogVmVyc2lvbjogMC4yCi0gKiBDY2FubGludDoKLSAq CS8vIFdlIGFjdHVhbGx5IGRlcGVuZCAoaW5kaXJlY3RseSkgb24gdGhlIExHUEwgdGFsbG9jCi0g KglsaWNlbnNlX2RlcGVuZHNfY29tcGF0IEZBSUwKICAqLwogaW50IG1haW4oaW50IGFyZ2MsIGNo YXIgKmFyZ3ZbXSkKIHsKQEAgLTY3LDUgKzY0LDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pCiAJCXJldHVybiAwOwogCX0KIAorCWlmIChzdHJjbXAoYXJndlsxXSwgImNjYW5s aW50IikgPT0gMCkgeworCQkvKiBXZSBhY3R1YWxseSBkZXBlbmQgKGluZGlyZWN0bHkpIG9uIHRo ZSBMR1BMIHRhbGxvYyAqLworCQlwcmludGYoImxpY2Vuc2VfZGVwZW5kc19jb21wYXQgRkFJTFxu Iik7CisJCXJldHVybiAwOworCX0KKwogCXJldHVybiAxOwogfQpkaWZmIC0tZ2l0IGEvdG9vbHMv Y2NhbmxpbnQvY2NhbmxpbnQuYyBiL3Rvb2xzL2NjYW5saW50L2NjYW5saW50LmMKaW5kZXggMGVk OTY5Yy4uZjA2ZjIwMCAxMDA2NDQKLS0tIGEvdG9vbHMvY2NhbmxpbnQvY2NhbmxpbnQuYworKysg Yi90b29scy9jY2FubGludC9jY2FubGludC5jCkBAIC00NTYsNTAgKzQ1Niw0MyBAQCBzdGF0aWMg dm9pZCBhZGRfb3B0aW9ucyhzdHJ1Y3QgY2NhbmxpbnQgKnRlc3QsIGNoYXIgKipvcHRpb25zLAog CW1lbWNweSgmdGVzdC0+b3B0aW9uc1tudW1dLCBvcHRpb25zLCAobnVtX29wdGlvbnMgKyAxKSpz aXplb2YoY2hhciAqKSk7CiB9CiAKLXZvaWQgYWRkX2luZm9fb3B0aW9ucyhzdHJ1Y3QgY2Nhbl9m aWxlICppbmZvKQordm9pZCBhZGRfaW5mb19vcHRpb25zKHN0cnVjdCBtYW5pZmVzdCAqbSkKIHsK LQlzdHJ1Y3QgZG9jX3NlY3Rpb24gKmQ7CiAJdW5zaWduZWQgaW50IGk7Ci0Jc3RydWN0IGNjYW5s aW50ICp0ZXN0OworCWNoYXIgKippbmZvX29wdGlvbnMgPSBnZXRfY2NhbmxpbnQobSwgbS0+ZGly LCBnZXRfb3JfY29tcGlsZV9pbmZvKTsKIAotCWxpc3RfZm9yX2VhY2goZ2V0X2NjYW5fZmlsZV9k b2NzKGluZm8pLCBkLCBsaXN0KSB7Ci0JCWlmICghc3RyZXEoZC0+dHlwZSwgImNjYW5saW50Iikp CisJZm9yIChpID0gMDsgaW5mb19vcHRpb25zW2ldOyBpKyspIHsKKwkJY2hhciAqKndvcmRzID0g dGFsX3N0cnNwbGl0KG0sIGluZm9fb3B0aW9uc1tpXSwgIiBcdCIsCisJCQkJCSAgICBTVFJfTk9f RU1QVFkpOworCQlzdHJ1Y3QgY2NhbmxpbnQgKnRlc3Q7CisKKwkJaWYgKCF3b3Jkc1swXSkKKwkJ CWNvbnRpbnVlOworCisJCXRlc3QgPSBmaW5kX3Rlc3Qod29yZHNbMF0pOworCQlpZiAoIXRlc3Qp IHsKKwkJCXdhcm54KCIlczogdW5rbm93biBjY2FubGludCB0ZXN0ICclcyciLAorCQkJICAgICAg bS0+aW5mb19maWxlLT5mdWxsbmFtZSwgd29yZHNbMF0pOwogCQkJY29udGludWU7CisJCX0KKwor CQlpZiAoIXdvcmRzWzFdKSB7CisJCQl3YXJueCgiJXM6IG5vIGFyZ3VtZW50IHRvIHRlc3QgJyVz JyIsCisJCQkgICAgICBtLT5pbmZvX2ZpbGUtPmZ1bGxuYW1lLCB3b3Jkc1swXSk7CisJCQljb250 aW51ZTsKKwkJfQogCi0JCWZvciAoaSA9IDA7IGkgPCBkLT5udW1fbGluZXM7IGkrKykgewotCQkJ Y2hhciAqKndvcmRzID0gdGFsX3N0cnNwbGl0KGQsIGQtPmxpbmVzW2ldLCAiIFx0IiwKLQkJCQkJ CSAgICBTVFJfTk9fRU1QVFkpOwotCQkJaWYgKCF3b3Jkc1swXSkKLQkJCQljb250aW51ZTsKLQot CQkJaWYgKHN0cm5jbXAod29yZHNbMF0sICIvLyIsIDIpID09IDApCi0JCQkJY29udGludWU7Ci0K LQkJCXRlc3QgPSBmaW5kX3Rlc3Qod29yZHNbMF0pOwotCQkJaWYgKCF0ZXN0KSB7Ci0JCQkJd2Fy bngoIiVzOiB1bmtub3duIGNjYW5saW50IHRlc3QgJyVzJyIsCi0JCQkJICAgICAgaW5mby0+ZnVs bG5hbWUsIHdvcmRzWzBdKTsKLQkJCQljb250aW51ZTsKLQkJCX0KLQotCQkJaWYgKCF3b3Jkc1sx XSkgewotCQkJCXdhcm54KCIlczogbm8gYXJndW1lbnQgdG8gdGVzdCAnJXMnIiwKLQkJCQkgICAg ICBpbmZvLT5mdWxsbmFtZSwgd29yZHNbMF0pOwotCQkJCWNvbnRpbnVlOwotCQkJfQotCi0JCQkv KiBLbm93biBmYWlsdXJlPyAqLwotCQkJaWYgKHN0cmNhc2VjbXAod29yZHNbMV0sICJGQUlMIikg PT0gMCkgewotCQkJCWlmICghdGFyZ2V0aW5nKQotCQkJCQlza2lwX3Rlc3RfYW5kX2RlcHModGVz dCwKLQkJCQkJCQkgICAiZXhjbHVkZWQgaW4gX2luZm8iCi0JCQkJCQkJICAgIiBmaWxlIik7Ci0J CQl9IGVsc2UgewotCQkJCWlmICghdGVzdC0+dGFrZXNfb3B0aW9ucykKLQkJCQkJd2FybngoIiVz OiAlcyBkb2Vzbid0IHRha2Ugb3B0aW9ucyIsCi0JCQkJCSAgICAgIGluZm8tPmZ1bGxuYW1lLCB3 b3Jkc1swXSk7Ci0JCQkJYWRkX29wdGlvbnModGVzdCwgd29yZHMrMSwgdGFsX2NvdW50KHdvcmRz KS0xKTsKLQkJCX0KKwkJLyogS25vd24gZmFpbHVyZT8gKi8KKwkJaWYgKHN0cmNhc2VjbXAod29y ZHNbMV0sICJGQUlMIikgPT0gMCkgeworCQkJaWYgKCF0YXJnZXRpbmcpCisJCQkJc2tpcF90ZXN0 X2FuZF9kZXBzKHRlc3QsCisJCQkJCQkgICAiZXhjbHVkZWQgaW4gX2luZm8iCisJCQkJCQkgICAi IGZpbGUiKTsKKwkJfSBlbHNlIHsKKwkJCWlmICghdGVzdC0+dGFrZXNfb3B0aW9ucykKKwkJCQl3 YXJueCgiJXM6ICVzIGRvZXNuJ3QgdGFrZSBvcHRpb25zIiwKKwkJCQkgICAgICBtLT5pbmZvX2Zp bGUtPmZ1bGxuYW1lLCB3b3Jkc1swXSk7CisJCQlhZGRfb3B0aW9ucyh0ZXN0LCB3b3JkcysxLCB0 YWxfY291bnQod29yZHMpLTEpOwogCQl9CiAJfQogfQpkaWZmIC0tZ2l0IGEvdG9vbHMvY2Nhbmxp bnQvY2NhbmxpbnQuaCBiL3Rvb2xzL2NjYW5saW50L2NjYW5saW50LmgKaW5kZXggOWNiODU4Zi4u N2RmOTUxMCAxMDA2NDQKLS0tIGEvdG9vbHMvY2NhbmxpbnQvY2NhbmxpbnQuaAorKysgYi90b29s cy9jY2FubGludC9jY2FubGludC5oCkBAIC0xODYsNyArMTg2LDcgQEAgc3RydWN0IGRlcGVuZGVu dCB7CiBib29sIGlzX2V4Y2x1ZGVkKGNvbnN0IGNoYXIgKm5hbWUpOwogCiAvKiBDYWxsZWQgdG8g YWRkIG9wdGlvbnMgZnJvbSBfaW5mbywgb25jZSBpdCdzIGxvY2F0ZWQuICovCi12b2lkIGFkZF9p bmZvX29wdGlvbnMoc3RydWN0IGNjYW5fZmlsZSAqaW5mbyk7Cit2b2lkIGFkZF9pbmZvX29wdGlv bnMoc3RydWN0IG1hbmlmZXN0ICptKTsKIAogLyogQXJlIHdlIGhhcHB5IHRvIGNvbXBpbGUgc3R1 ZmYsIG9yIGp1c3Qgbm9uLWludHJ1c2l2ZSB0ZXN0cz8gKi8KIGV4dGVybiBib29sIHNhZmVfbW9k ZTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2NjYW5saW50L3Rlc3RzL2luZm9fZXhpc3RzLmMgYi90b29s cy9jY2FubGludC90ZXN0cy9pbmZvX2V4aXN0cy5jCmluZGV4IDVlNDQ1OWIuLjhmMDE5NDYgMTAw NjQ0Ci0tLSBhL3Rvb2xzL2NjYW5saW50L3Rlc3RzL2luZm9fZXhpc3RzLmMKKysrIGIvdG9vbHMv Y2NhbmxpbnQvdGVzdHMvaW5mb19leGlzdHMuYwpAQCAtMjAsNyArMjAsNyBAQCBzdGF0aWMgdm9p ZCBjaGVja19oYXNfaW5mbyhzdHJ1Y3QgbWFuaWZlc3QgKm0sCiAJaWYgKG0tPmluZm9fZmlsZSkg ewogCQlzY29yZS0+cGFzcyA9IHRydWU7CiAJCXNjb3JlLT5zY29yZSA9IHNjb3JlLT50b3RhbDsK LQkJYWRkX2luZm9fb3B0aW9ucyhtLT5pbmZvX2ZpbGUpOworCQlhZGRfaW5mb19vcHRpb25zKG0p OwogCX0gZWxzZSB7CiAJCXNjb3JlLT5lcnJvciA9IHRhbF9zdHJkdXAoc2NvcmUsCiAJIllvdSBo YXZlIG5vIF9pbmZvIGZpbGUuXG5cbiIKZGlmZiAtLWdpdCBhL3Rvb2xzL2RlcGVuZHMuYyBiL3Rv b2xzL2RlcGVuZHMuYwppbmRleCBmMWZmMzA5Li45NWJkYTFiIDEwMDY0NAotLS0gYS90b29scy9k ZXBlbmRzLmMKKysrIGIvdG9vbHMvZGVwZW5kcy5jCkBAIC0yNTMsNiArMjUzLDEyIEBAIHN0YXRp YyBjaGFyICoqZ2V0X29uZV9jZmxhZ3MoY29uc3Qgdm9pZCAqY3R4LCBjb25zdCBjaGFyICpkaXIs CiAJcmV0dXJuIGdldF9vbmVfcHJvcChjdHgsIGRpciwgImNmbGFncyIsIGdldF9pbmZvKTsKIH0K IAorc3RhdGljIGNoYXIgKipnZXRfb25lX2NjYW5saW50KGNvbnN0IHZvaWQgKmN0eCwgY29uc3Qg Y2hhciAqZGlyLAorCQkJICAgICAgIGNoYXIgKigqZ2V0X2luZm8pKGNvbnN0IHZvaWQgKmN0eCwg Y29uc3QgY2hhciAqZGlyKSkKK3sKKwlyZXR1cm4gZ2V0X29uZV9wcm9wKGN0eCwgZGlyLCAiY2Nh bmxpbnQiLCBnZXRfaW5mbyk7Cit9CisKIC8qIE8obl4yKSBidXQgbiBpcyBzbWFsbC4gKi8KIHN0 YXRpYyBjaGFyICoqYWRkX2RlcHMoY2hhciAqKmRlcHMxLCBjaGFyICoqZGVwczIpCiB7CkBAIC0y ODIsNiArMjg4LDE4IEBAIGNoYXIgKipnZXRfY2ZsYWdzKGNvbnN0IHZvaWQgKmN0eCwgY29uc3Qg Y2hhciAqZGlyLAogCXJldHVybiBmbGFnczsKIH0KIAorY2hhciAqKmdldF9jY2FubGludChjb25z dCB2b2lkICpjdHgsIGNvbnN0IGNoYXIgKmRpciwKKwkJICAgIGNoYXIgKigqZ2V0X2luZm8pKGNv bnN0IHZvaWQgKmN0eCwgY29uc3QgY2hhciAqZGlyKSkKK3sKKwljaGFyICoqY2NhbmxpbnQ7CisJ dW5zaWduZWQgaW50IGxlbjsKKwljY2FubGludCA9IGdldF9vbmVfY2NhbmxpbnQoY3R4LCBkaXIs IGdldF9pbmZvKTsKKwlsZW4gPSB0YWxfY291bnQoY2NhbmxpbnQpOworCXRhbF9yZXNpemUoJmNj YW5saW50LCBsZW4gKyAxKTsKKwljY2FubGludFtsZW5dID0gTlVMTDsKKwlyZXR1cm4gY2Nhbmxp bnQ7Cit9CisKIHN0YXRpYyBjaGFyICpnZXRfb25lX3BvcnRlZChjb25zdCB2b2lkICpjdHgsIGNv bnN0IGNoYXIgKmRpciwKIAkJCSAgICBjaGFyICooKmdldF9pbmZvKShjb25zdCB2b2lkICpjdHgs IGNvbnN0IGNoYXIgKmRpcikpCiB7CmRpZmYgLS1naXQgYS90b29scy90b29scy5oIGIvdG9vbHMv dG9vbHMuaAppbmRleCA2NjhjOTFhLi5kMjlhMjVmIDEwMDY0NAotLS0gYS90b29scy90b29scy5o CisrKyBiL3Rvb2xzL3Rvb2xzLmgKQEAgLTQ4LDYgKzQ4LDkgQEAgY2hhciAqKmdldF9saWJzKGNv bnN0IHZvaWQgKmN0eCwgY29uc3QgY2hhciAqZGlyLCBjb25zdCBjaGFyICpzdHlsZSwKIGNoYXIg KipnZXRfY2ZsYWdzKGNvbnN0IHZvaWQgKmN0eCwgY29uc3QgY2hhciAqZGlyLAogCQljaGFyICoo KmdldF9pbmZvKShjb25zdCB2b2lkICpjdHgsIGNvbnN0IGNoYXIgKmRpcikpOwogCitjaGFyICoq Z2V0X2NjYW5saW50KGNvbnN0IHZvaWQgKmN0eCwgY29uc3QgY2hhciAqZGlyLAorCQkgICAgY2hh ciAqKCpnZXRfaW5mbykoY29uc3Qgdm9pZCAqY3R4LCBjb25zdCBjaGFyICpkaXIpKTsKKwogY2hh ciAqZ2V0X3BvcnRlZChjb25zdCB2b2lkICpjdHgsIGNvbnN0IGNoYXIgKmRpciwgYm9vbCByZWN1 cnNlLAogCQkgY2hhciAqKCpnZXRfaW5mbykoY29uc3Qgdm9pZCAqY3R4LCBjb25zdCBjaGFyICpk aXIpKTsKIAotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmNjYW4gbWFpbGluZyBsaXN0CmNjYW5AbGlzdHMub3psYWJzLm9yZwpodHRwczov L2xpc3RzLm96bGFicy5vcmcvbGlzdGluZm8vY2Nhbgo=