Re: [PATCH]sbin/route WARNS=6 cleanup, Style(9), small bug fix

看板DFBSD_submit作者時間21年前 (2005/03/08 20:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_jive-19245-1110283532-0001-2 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit split original patch into small patches against each file in sbin/route add comments at the beginning of each file to indicate what it does patchbugfix.route.c is based on patch.route.c please view them. Best Regards, sephe --=_jive-19245-1110283532-0001-2 Content-Type: text/plain; charset=us-ascii; name="patchbugfix.route.c" Content-Transfer-Encoding: base64 Content-ID: <20050308201142.V1319@localhost> Content-Description: Content-Disposition: attachment; filename="patchbugfix.route.c" YmFzZWQgcHJldmlvdXMgY2xlYW4gdXAgcGF0Y2ggYWdhaW5zdCByb3V0ZS5j DQpgc2EtPnNhX2xlbicgaXMgdGhlIHRvdGFsIGxlbmd0aCBvZiBgc2EnLCBv cmlnaW5hbCBjb2RlIHdpbGwgY2F1c2UgYHNwJyBwb2ludCB0byB0aGUgbWVt b3J5IGxvY2F0aW9uIHdoaWNoIGRvZXMgbm90IGJlbG9uZyB0byBgc2EnDQoN Ci0tLSAvb3B0L3NyYy9zYmluL3JvdXRlL3JvdXRlLmMub3JpZwkyMDA1LTAz LTA5IDAzOjM5OjE2LjAwMDAwMDAwMCArMDgwMA0KKysrIC9vcHQvc3JjL3Ni aW4vcm91dGUvcm91dGUuYy5vcmlnCTIwMDUtMDMtMDkgMDM6NDY6NDAuMDAw MDAwMDAwICswODAwDQpAQCAtNTQ2LDcgKzU0Niw3IEBADQogDQogDQogCWRl ZmF1bHQ6DQotCSAgICB7CXVfc2hvcnQgKnNwID0gKHVfc2hvcnQgKilzYS0+ c2FfZGF0YTsNCisJICAgIHsJdV9zaG9ydCAqc3AgPSAodV9zaG9ydCAqKXNh Ow0KIAkJdV9zaG9ydCAqc3BsaW0gPSBzcCArICgoc2EtPnNhX2xlbiArIDEp Pj4xKTsNCiAJCWNoYXIgKmNwcyA9IGxpbmUgKyBzcHJpbnRmKGxpbmUsICJh ZiAlZDoiLCBzYS0+c2FfZmFtaWx5KTsNCiAJCWNoYXIgKmNwZSA9IGxpbmUg KyBzaXplb2YobGluZSk7DQo= --=_jive-19245-1110283532-0001-2 Content-Type: text/plain; charset=us-ascii; name="patch.route.c" Content-Transfer-Encoding: base64 Content-ID: <20050308201142.P1319@localhost> Content-Description: Content-Disposition: attachment; filename="patch.route.c" MSkgbWFrZSBsb2NhbGx5IHVzZWQgdmFyaWFibGUgYW5kIGZ1bmN0aW9uIHN0 YXRpYw0KMikgcmVtb3ZlIHVudXNlZCBhbmQgbmVzdGVkIGZ1bmN0aW9uIGRl Y2xhcmF0aW9uDQozKSByZW1vdmUgbmVzdGVkIHZhcmlhYmxlIGRlY2xhcmF0 aW9uDQo0KSBhZGQgbWlzc2luZyBmdW5jdGlvbiBkZWNsYXJhdGlvbg0KNSkg cmVuYW1lIGxvY2FsIHZhcmlhYmxlIGFuZCBmdW5jdGlvbiBwYXJhbWV0ZXIg bmFtZSB0byBhdm9pZCBzaGFkb3dpbmcgZ2xvYmFsIHZhcmlhYmxlIA0KNikg YWRkIGBjb25zdCcgdG8gYXZvaWQgLVdjYXN0LXF1YWwNCg0KSW5kZXg6IHJv dXRlLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvb3B0 L2RmX2N2cy9zcmMvc2Jpbi9yb3V0ZS9yb3V0ZS5jLHYNCnJldHJpZXZpbmcg cmV2aXNpb24gMS44DQpkaWZmIC11IC1yMS44IHJvdXRlLmMNCi0tLSByb3V0 ZS5jCTIgTm92IDIwMDQgMjM6NDk6MzggLTAwMDAJMS44DQorKysgcm91dGUu Ywk4IE1hciAyMDA1IDExOjQ2OjUyIC0wMDAwDQpAQCAtNjksNyArNjksNiBA QA0KICNpbmNsdWRlICJleHRlcm4uaCINCiAjaW5jbHVkZSAia2V5d29yZHMu aCINCiANCi1zdHJ1Y3QJb3J0ZW50cnkgcm91dGU7DQogdW5pb24Jc29ja3Vu aW9uIHsNCiAJc3RydWN0CXNvY2thZGRyIHNhOw0KIAlzdHJ1Y3QJc29ja2Fk ZHJfaW4gc2luOw0KQEAgLTg1LDQyICs4NCw0NSBAQA0KIAlzdHJ1Y3QJc29j a2FkZHJfc3RvcmFnZSBzczsgLyogYWRkZWQgdG8gYXZvaWQgbWVtb3J5IG92 ZXJydW4gKi8NCiB9IHNvX2RzdCwgc29fZ2F0ZSwgc29fbWFzaywgc29fZ2Vu bWFzaywgc29faWZhLCBzb19pZnA7DQogDQotdHlwZWRlZiB1bmlvbiBzb2Nr dW5pb24gKnN1cDsNCit0eXBlZGVmIHVuaW9uIHNvY2t1bmlvbiAqCXN1cDsN CiANCi1pbnQJcGlkLCBydG1fYWRkcnM7DQotaW50CXM7DQotaW50CWZvcmNl aG9zdCwgZm9yY2VuZXQsIGRvZmx1c2gsIG5mbGFnLCBhZiwgcWZsYWcsIHRm bGFnLCBrZXl3b3JkKCk7DQotaW50CWlmbGFnLCB2ZXJib3NlLCBhZmxlbiA9 IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW4pOw0KLWludAl3ZmxhZzsNCi1p bnQJbG9ja2luZywgbG9ja3Jlc3QsIGRlYnVnb25seTsNCi1zdHJ1Y3QJcnRf bWV0cmljcyBydF9tZXRyaWNzOw0KLXVfbG9uZyAgcnRtX2luaXRzOw0KLXVp ZF90CXVpZDsNCi0NCi1pbnQJIGF0YWxrX2F0b24oY29uc3QgY2hhciAqLCBz dHJ1Y3QgYXRfYWRkciAqKTsNCi1jaGFyCSphdGFsa19udG9hKHN0cnVjdCBh dF9hZGRyKTsNCi1jaGFyCSpuZXRuYW1lKHN0cnVjdCBzb2NrYWRkciAqKTsN Ci12b2lkCSBmbHVzaHJvdXRlcyhpbnQsIGNoYXIgKiopOw0KLXZvaWQJIG5l d3JvdXRlKGludCwgY2hhciAqKik7DQotdm9pZAkgbW9uaXRvcih2b2lkKTsN Ci12b2lkCSBzb2NrYWRkcihjaGFyICosIHN0cnVjdCBzb2NrYWRkciAqKTsN Ci12b2lkCSBzb2R1bXAoc3VwLCBjaGFyICopOw0KLXZvaWQJIGJwcmludGYo RklMRSAqLCBpbnQsIHVfY2hhciAqKTsNCi12b2lkCSBwcmludF9nZXRtc2co c3RydWN0IHJ0X21zZ2hkciAqLCBpbnQpOw0KLXZvaWQJIHByaW50X3J0bXNn KHN0cnVjdCBydF9tc2doZHIgKiwgaW50KTsNCi12b2lkCSBwbXNnX2NvbW1v bihzdHJ1Y3QgcnRfbXNnaGRyICopOw0KLXZvaWQJIHBtc2dfYWRkcnMoY2hh ciAqLCBpbnQpOw0KLXZvaWQJIG1hc2tfYWRkcih2b2lkKTsNCi0jaWZkZWYg SU5FVDYNCi1zdGF0aWMgaW50IGluZXQ2X21ha2VuZXRhbmRtYXNrKHN0cnVj dCBzb2NrYWRkcl9pbjYgKiwgY2hhciAqKTsNCitpbnQJbmZsYWcsIHdmbGFn Ow0KKw0KK3N0YXRpYyBzdHJ1Y3Qgb3J0ZW50cnkgcm91dGU7DQorc3RhdGlj IHN0cnVjdCBydF9tZXRyaWNzIHJ0X21ldHJpY3M7DQorc3RhdGljIGludAlw aWQsIHJ0bV9hZGRyczsNCitzdGF0aWMgaW50CXM7DQorc3RhdGljIGludAlm b3JjZWhvc3QsIGZvcmNlbmV0LCBhZiwgcWZsYWcsIHRmbGFnOw0KK3N0YXRp YyBpbnQJaWZsYWcsIHZlcmJvc2UsIGFmbGVuID0gc2l6ZW9mKHN0cnVjdCBz b2NrYWRkcl9pbik7DQorc3RhdGljIGludAlsb2NraW5nLCBsb2NrcmVzdCwg ZGVidWdvbmx5Ow0KK3N0YXRpYyB1X2xvbmcJcnRtX2luaXRzOw0KK3N0YXRp YyB1aWRfdAl1aWQ7DQorI2lmZGVmIE5TDQorc3RhdGljIHNob3J0CW5zX2Jo W10gPSB7LTEsLTEsLTF9Ow0KICNlbmRpZg0KLWludAkgZ2V0YWRkcihpbnQs IGNoYXIgKiwgc3RydWN0IGhvc3RlbnQgKiopOw0KLWludAkgcnRtc2coaW50 LCBpbnQpOw0KLWludAkgeDI1X21ha2VtYXNrKCk7DQotaW50CSBwcmVmaXhs ZW4oY2hhciAqKTsNCi1leHRlcm4JY2hhciAqaXNvX250b2EoKTsNCiANCi12 b2lkIHVzYWdlKGNvbnN0IGNoYXIgKikgX19kZWFkMjsNCitzdGF0aWMgaW50 CSBhdGFsa19hdG9uKGNvbnN0IGNoYXIgKiwgc3RydWN0IGF0X2FkZHIgKik7 DQorc3RhdGljIGNoYXIJKmF0YWxrX250b2Eoc3RydWN0IGF0X2FkZHIpOw0K K3N0YXRpYyB2b2lkCSBmbHVzaHJvdXRlcyhpbnQsIGNoYXIgKiopOw0KK3N0 YXRpYyB2b2lkCSBzZXRfbWV0cmljKGNoYXIgKiwgaW50KTsNCitzdGF0aWMg dm9pZAkgbmV3cm91dGUoaW50LCBjaGFyICoqKTsNCitzdGF0aWMgdm9pZAkg aW5ldF9tYWtlbmV0YW5kbWFzayh1X2xvbmcsIHN0cnVjdCBzb2NrYWRkcl9p biAqLCB1X2xvbmcpOw0KK3N0YXRpYyB2b2lkCSBpbnRlcmZhY2VzKHZvaWQp Ow0KK3N0YXRpYyB2b2lkCSBtb25pdG9yKHZvaWQpOw0KK3N0YXRpYyB2b2lk CSBzb2NrYWRkcihjaGFyICosIHN0cnVjdCBzb2NrYWRkciAqKTsNCitzdGF0 aWMgdm9pZAkgc29kdW1wKHN1cCwgY29uc3QgY2hhciAqKTsNCitzdGF0aWMg dm9pZAkgYnByaW50ZihGSUxFICosIGludCwgdV9jaGFyICopOw0KK3N0YXRp YyB2b2lkCSBwcmludF9nZXRtc2coc3RydWN0IHJ0X21zZ2hkciAqLCBpbnQp Ow0KK3N0YXRpYyB2b2lkCSBwcmludF9ydG1zZyhzdHJ1Y3QgcnRfbXNnaGRy ICosIGludCk7DQorc3RhdGljIHZvaWQJIHBtc2dfY29tbW9uKHN0cnVjdCBy dF9tc2doZHIgKik7DQorc3RhdGljIHZvaWQJIHBtc2dfYWRkcnMoY2hhciAq LCBpbnQpOw0KK3N0YXRpYyB2b2lkCSBtYXNrX2FkZHIodm9pZCk7DQorc3Rh dGljIGludAkgZ2V0YWRkcihpbnQsIGNoYXIgKiwgc3RydWN0IGhvc3RlbnQg KiopOw0KK3N0YXRpYyBpbnQJIHJ0bXNnKGludCwgaW50KTsNCitzdGF0aWMg aW50CSBwcmVmaXhsZW4oY29uc3QgY2hhciAqKTsNCisjaWZkZWYgSU5FVDYN CitzdGF0aWMgaW50CSBpbmV0Nl9tYWtlbmV0YW5kbWFzayhzdHJ1Y3Qgc29j a2FkZHJfaW42ICosIGNvbnN0IGNoYXIgKik7DQorI2VuZGlmDQogDQogdm9p ZA0KIHVzYWdlKGNvbnN0IGNoYXIgKmNwKQ0KQEAgLTIxMiw3ICsyMTQsNyBA QA0KICAqIFB1cmdlIGFsbCBlbnRyaWVzIGluIHRoZSByb3V0aW5nIHRhYmxl cyBub3QNCiAgKiBhc3NvY2lhdGVkIHdpdGggbmV0d29yayBpbnRlcmZhY2Vz Lg0KICAqLw0KLXZvaWQNCitzdGF0aWMgdm9pZA0KIGZsdXNocm91dGVzKGlu dCBhcmdjLCBjaGFyICoqYXJndikNCiB7DQogCXNpemVfdCBuZWVkZWQ7DQpA QCAtMzE5LDE0ICszMjEsMTEgQEANCiBjaGFyICoNCiByb3V0ZW5hbWUoc3Ry dWN0IHNvY2thZGRyICpzYSkNCiB7DQotCWNoYXIgKmNwOw0KKwljb25zdCBj aGFyICpjcDsNCiAJc3RhdGljIGNoYXIgbGluZVtNQVhIT1NUTkFNRUxFTiAr IDFdOw0KIAlzdHJ1Y3QgaG9zdGVudCAqaHA7DQogCXN0YXRpYyBjaGFyIGRv bWFpbltNQVhIT1NUTkFNRUxFTiArIDFdOw0KIAlzdGF0aWMgaW50IGZpcnN0 ID0gMTsNCi0jaWZkZWYgTlMNCi0JY2hhciAqbnNfcHJpbnQoKTsNCi0jZW5k aWYNCiANCiAJaWYgKGZpcnN0KSB7DQogCQlmaXJzdCA9IDA7DQpAQCAtMzUz LDkgKzM1MiwxMCBAQA0KIAkJCWhwID0gZ2V0aG9zdGJ5YWRkcigoY2hhciAq KSZpbiwgc2l6ZW9mKHN0cnVjdCBpbl9hZGRyKSwNCiAJCQkJQUZfSU5FVCk7 DQogCQkJaWYgKGhwKSB7DQotCQkJCWlmICgoY3AgPSBzdHJjaHIoaHAtPmhf bmFtZSwgJy4nKSkgJiYgIXdmbGFnICYmDQotCQkJCSAgICAhc3RyY21wKGNw ICsgMSwgZG9tYWluKSkNCi0JCQkJCSpjcCA9IDA7DQorCQkJCWNoYXIgKmNw dHI7DQorCQkJCWlmICgoY3B0ciA9IHN0cmNocihocC0+aF9uYW1lLCAnLicp KSAmJg0KKwkJCQkgICAgIXdmbGFnICYmICFzdHJjbXAoY3B0ciArIDEsIGRv bWFpbikpDQorCQkJCQkqY3B0ciA9IDA7DQogCQkJCWNwID0gaHAtPmhfbmFt ZTsNCiAJCQl9DQogCQl9DQpAQCAtNDE1LDEzICs0MTUsMTMgQEANCiAJCXJl dHVybihsaW5rX250b2EoKHN0cnVjdCBzb2NrYWRkcl9kbCAqKXNhKSk7DQog DQogCWRlZmF1bHQ6DQotCSAgICB7CXVfc2hvcnQgKnMgPSAodV9zaG9ydCAq KXNhOw0KLQkJdV9zaG9ydCAqc2xpbSA9IHMgKyAoKHNhLT5zYV9sZW4gKyAx KSA+PiAxKTsNCi0JCWNoYXIgKmNwID0gbGluZSArIHNwcmludGYobGluZSwg IiglZCkiLCBzYS0+c2FfZmFtaWx5KTsNCisJICAgIHsJdV9zaG9ydCAqc3Ag PSAodV9zaG9ydCAqKXNhOw0KKwkJdV9zaG9ydCAqc3BsaW0gPSBzcCArICgo c2EtPnNhX2xlbiArIDEpID4+IDEpOw0KKwkJY2hhciAqY3BzID0gbGluZSAr IHNwcmludGYobGluZSwgIiglZCkiLCBzYS0+c2FfZmFtaWx5KTsNCiAJCWNo YXIgKmNwZSA9IGxpbmUgKyBzaXplb2YobGluZSk7DQogDQotCQl3aGlsZSAo KytzIDwgc2xpbSAmJiBjcCA8IGNwZSkgLyogc3RhcnQgd2l0aCBzYS0+c2Ff ZGF0YSAqLw0KLQkJCWNwICs9IHNucHJpbnRmKGNwLCBjcGUgLSBjcCwgIiAl eCIsICpzKTsNCisJCXdoaWxlICgrK3NwIDwgc3BsaW0gJiYgY3BzIDwgY3Bl KSAvKiBzdGFydCB3aXRoIHNhLT5zYV9kYXRhICovDQorCQkJY3BzICs9IHNu cHJpbnRmKGNwcywgY3BlIC0gY3BzLCAiICV4IiwgKnNwKTsNCiAJCWJyZWFr Ow0KIAkgICAgfQ0KIAl9DQpAQCAtNDM1LDE1ICs0MzUsMTIgQEANCiBjaGFy ICoNCiBuZXRuYW1lKHN0cnVjdCBzb2NrYWRkciAqc2EpDQogew0KLQljaGFy ICpjcCA9IDA7DQorCWNvbnN0IGNoYXIgKmNwID0gMDsNCiAJc3RhdGljIGNo YXIgbGluZVtNQVhIT1NUTkFNRUxFTiArIDFdOw0KIAlzdHJ1Y3QgbmV0ZW50 ICpucCA9IDA7DQogCXVfbG9uZyBuZXQsIG1hc2s7DQogCXVfbG9uZyBpOw0K IAlpbnQgc3VibmV0c2hpZnQ7DQotI2lmZGVmIE5TDQotCWNoYXIgKm5zX3By aW50KCk7DQotI2VuZGlmDQogDQogCXN3aXRjaCAoc2EtPnNhX2ZhbWlseSkg ew0KIA0KQEAgLTU0OSwyMCArNTQ2LDIwIEBADQogDQogDQogCWRlZmF1bHQ6 DQotCSAgICB7CXVfc2hvcnQgKnMgPSAodV9zaG9ydCAqKXNhLT5zYV9kYXRh Ow0KLQkJdV9zaG9ydCAqc2xpbSA9IHMgKyAoKHNhLT5zYV9sZW4gKyAxKT4+ MSk7DQotCQljaGFyICpjcCA9IGxpbmUgKyBzcHJpbnRmKGxpbmUsICJhZiAl ZDoiLCBzYS0+c2FfZmFtaWx5KTsNCisJICAgIHsJdV9zaG9ydCAqc3AgPSAo dV9zaG9ydCAqKXNhLT5zYV9kYXRhOw0KKwkJdV9zaG9ydCAqc3BsaW0gPSBz cCArICgoc2EtPnNhX2xlbiArIDEpPj4xKTsNCisJCWNoYXIgKmNwcyA9IGxp bmUgKyBzcHJpbnRmKGxpbmUsICJhZiAlZDoiLCBzYS0+c2FfZmFtaWx5KTsN CiAJCWNoYXIgKmNwZSA9IGxpbmUgKyBzaXplb2YobGluZSk7DQogDQotCQl3 aGlsZSAocyA8IHNsaW0gJiYgY3AgPCBjcGUpDQotCQkJY3AgKz0gc25wcmlu dGYoY3AsIGNwZSAtIGNwLCAiICV4IiwgKnMrKyk7DQorCQl3aGlsZSAoKytz cCA8IHNwbGltICYmIGNwcyA8IGNwZSkgLyogc3RhcnQgd2l0aCBzYS0+c2Ff ZGF0YSAqLw0KKwkJCWNwcyArPSBzbnByaW50ZihjcHMsIGNwZSAtIGNwcywg IiAleCIsICpzcCk7DQogCQlicmVhazsNCiAJICAgIH0NCiAJfQ0KIAlyZXR1 cm4obGluZSk7DQogfQ0KIA0KLXZvaWQNCitzdGF0aWMgdm9pZA0KIHNldF9t ZXRyaWMoY2hhciAqdmFsdWUsIGludCBrZXkpDQogew0KIAlpbnQgZmxhZyA9 IDA7DQpAQCAtNTg3LDEwICs1ODQsMTEgQEANCiAJKnZhbHAgPSBhdG9pKHZh bHVlKTsNCiB9DQogDQotdm9pZA0KK3N0YXRpYyB2b2lkDQogbmV3cm91dGUo aW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KIHsNCi0JY2hhciAqY21kLCAqZGVz dCA9ICIiLCAqZ2F0ZXdheSA9ICIiLCAqZXJyOw0KKwljaGFyICpjbWQ7DQor CWNvbnN0IGNoYXIgKmVycl9zdHIsICpkZXN0ID0gIiIsICpnYXRld2F5ID0g IiI7DQogCWludCBpc2hvc3QgPSAwLCBwcm94eSA9IDAsIHJldCwgYXR0ZW1w dHMsIG9lcnJubywgZmxhZ3MgPSBSVEZfU1RBVElDOw0KIAlpbnQga2V5Ow0K IAlzdHJ1Y3QgaG9zdGVudCAqaHAgPSAwOw0KQEAgLTc3Niw4ICs3NzQsMTAg QEANCiAJCQlicmVhazsNCiAJCWlmIChhZiA9PSBBRl9JTkVUICYmICpnYXRl d2F5ICYmIGhwICYmIGhwLT5oX2FkZHJfbGlzdFsxXSkgew0KIAkJCWhwLT5o X2FkZHJfbGlzdCsrOw0KLQkJCW1lbW1vdmUoJnNvX2dhdGUuc2luLnNpbl9h ZGRyLCBocC0+aF9hZGRyX2xpc3RbMF0sDQotCQkJICAgIE1JTihocC0+aF9s ZW5ndGgsIHNpemVvZihzb19nYXRlLnNpbi5zaW5fYWRkcikpKTsNCisJCQlt ZW1tb3ZlKCZzb19nYXRlLnNpbi5zaW5fYWRkciwNCisJCQkJaHAtPmhfYWRk cl9saXN0WzBdLA0KKwkJCQlNSU4oKHNpemVfdClocC0+aF9sZW5ndGgsDQor CQkJCSAgICBzaXplb2Yoc29fZ2F0ZS5zaW4uc2luX2FkZHIpKSk7DQogCQl9 IGVsc2UNCiAJCQlicmVhazsNCiAJfQ0KQEAgLTc5NywzMCArNzk3LDMwIEBA DQogCQl9IGVsc2Ugew0KIAkJCXN3aXRjaCAob2Vycm5vKSB7DQogCQkJY2Fz ZSBFU1JDSDoNCi0JCQkJZXJyID0gIm5vdCBpbiB0YWJsZSI7DQorCQkJCWVy cl9zdHIgPSAibm90IGluIHRhYmxlIjsNCiAJCQkJYnJlYWs7DQogCQkJY2Fz ZSBFQlVTWToNCi0JCQkJZXJyID0gImVudHJ5IGluIHVzZSI7DQorCQkJCWVy cl9zdHIgPSAiZW50cnkgaW4gdXNlIjsNCiAJCQkJYnJlYWs7DQogCQkJY2Fz ZSBFTk9CVUZTOg0KLQkJCQllcnIgPSAicm91dGluZyB0YWJsZSBvdmVyZmxv dyI7DQorCQkJCWVycl9zdHIgPSAicm91dGluZyB0YWJsZSBvdmVyZmxvdyI7 DQogCQkJCWJyZWFrOw0KIAkJCWNhc2UgRURRVU9UOiAvKiBoYW5kbGUgcmVj dXJzaW9uIGF2b2lkYW5jZSBpbg0KIAkJCQkJcnRfc2V0Z2F0ZSgpICovDQot CQkJCWVyciA9ICJnYXRld2F5IHVzZXMgdGhlIHNhbWUgcm91dGUiOw0KKwkJ CQllcnJfc3RyID0gImdhdGV3YXkgdXNlcyB0aGUgc2FtZSByb3V0ZSI7DQog CQkJCWJyZWFrOw0KIAkJCWRlZmF1bHQ6DQotCQkJCWVyciA9IHN0cmVycm9y KG9lcnJubyk7DQorCQkJCWVycl9zdHIgPSBzdHJlcnJvcihvZXJybm8pOw0K IAkJCQlicmVhazsNCiAJCQl9DQotCQkJcHJpbnRmKCI6ICVzXG4iLCBlcnIp Ow0KKwkJCXByaW50ZigiOiAlc1xuIiwgZXJyX3N0cik7DQogCQl9DQogCX0N CiAJZXhpdChyZXQgIT0gMCk7DQogfQ0KIA0KLXZvaWQNCi1pbmV0X21ha2Vu ZXRhbmRtYXNrKHVfbG9uZyBuZXQsIHN0cnVjdCBzb2NrYWRkcl9pbiAqc2lu LCB1X2xvbmcgYml0cykNCitzdGF0aWMgdm9pZA0KK2luZXRfbWFrZW5ldGFu ZG1hc2sodV9sb25nIG5ldCwgc3RydWN0IHNvY2thZGRyX2luICppbiwgdV9s b25nIGJpdHMpDQogew0KIAl1X2xvbmcgYWRkciwgbWFzayA9IDA7DQogCWNo YXIgKmNwOw0KQEAgLTg1MCwxNSArODUwLDE1IEBADQogCX0NCiAJaWYgKGJp dHMpDQogCQltYXNrID0gMHhmZmZmZmZmZiA8PCAoMzIgLSBiaXRzKTsNCi0J c2luLT5zaW5fYWRkci5zX2FkZHIgPSBodG9ubChhZGRyKTsNCi0Jc2luID0g JnNvX21hc2suc2luOw0KLQlzaW4tPnNpbl9hZGRyLnNfYWRkciA9IGh0b25s KG1hc2spOw0KLQlzaW4tPnNpbl9sZW4gPSAwOw0KLQlzaW4tPnNpbl9mYW1p bHkgPSAwOw0KLQljcCA9IChjaGFyICopKCZzaW4tPnNpbl9hZGRyICsgMSk7 DQotCXdoaWxlICgqLS1jcCA9PSAwICYmIGNwID4gKGNoYXIgKilzaW4pDQor CWluLT5zaW5fYWRkci5zX2FkZHIgPSBodG9ubChhZGRyKTsNCisJaW4gPSAm c29fbWFzay5zaW47DQorCWluLT5zaW5fYWRkci5zX2FkZHIgPSBodG9ubCht YXNrKTsNCisJaW4tPnNpbl9sZW4gPSAwOw0KKwlpbi0+c2luX2ZhbWlseSA9 IDA7DQorCWNwID0gKGNoYXIgKikoJmluLT5zaW5fYWRkciArIDEpOw0KKwl3 aGlsZSAoKi0tY3AgPT0gMCAmJiBjcCA+IChjaGFyICopaW4pDQogCQk7DQot CXNpbi0+c2luX2xlbiA9IDEgKyBjcCAtIChjaGFyICopc2luOw0KKwlpbi0+ c2luX2xlbiA9IDEgKyBjcCAtIChjaGFyICopaW47DQogfQ0KIA0KICNpZmRl ZiBJTkVUNg0KQEAgLTg2Niw3ICs4NjYsNyBAQA0KICAqIFhYWCB0aGUgZnVu Y3Rpb24gbWF5IG5lZWQgbW9yZSBpbXByb3ZlbWVudC4uLg0KICAqLw0KIHN0 YXRpYyBpbnQNCi1pbmV0Nl9tYWtlbmV0YW5kbWFzayhzdHJ1Y3Qgc29ja2Fk ZHJfaW42ICpzaW42LCBjaGFyICpwbGVuKQ0KK2luZXQ2X21ha2VuZXRhbmRt YXNrKHN0cnVjdCBzb2NrYWRkcl9pbjYgKnNpbjYsIGNvbnN0IGNoYXIgKnBs ZW4pDQogew0KIAlzdHJ1Y3QgaW42X2FkZHIgaW42Ow0KIA0KQEAgLTg5NSw4 ICs4OTUsOCBAQA0KICAqIEludGVycHJldCBhbiBhcmd1bWVudCBhcyBhIG5l dHdvcmsgYWRkcmVzcyBvZiBzb21lIGtpbmQsDQogICogcmV0dXJuaW5nIDEg aWYgYSBob3N0IGFkZHJlc3MsIDAgaWYgYSBuZXR3b3JrIGFkZHJlc3MuDQog ICovDQotaW50DQotZ2V0YWRkcihpbnQgd2hpY2gsIGNoYXIgKnMsIHN0cnVj dCBob3N0ZW50ICoqaHBwKQ0KK3N0YXRpYyBpbnQNCitnZXRhZGRyKGludCB3 aGljaCwgY2hhciAqc3RyLCBzdHJ1Y3QgaG9zdGVudCAqKmhwcCkNCiB7DQog CXN1cCBzdTsNCiAJc3RydWN0IGhvc3RlbnQgKmhwOw0KQEAgLTkyOCw3ICs5 MjgsNyBAQA0KIAkJCQlpZiAoaWZhLT5pZmFfYWRkci0+c2FfZmFtaWx5ICE9 IEFGX0xJTkspDQogCQkJCQljb250aW51ZTsNCiANCi0JCQkJaWYgKHN0cmNt cChzLCBpZmEtPmlmYV9uYW1lKSkNCisJCQkJaWYgKHN0cmNtcChzdHIsIGlm YS0+aWZhX25hbWUpKQ0KIAkJCQkJY29udGludWU7DQogDQogCQkJCXNkbCA9 IChzdHJ1Y3Qgc29ja2FkZHJfZGwgKilpZmEtPmlmYV9hZGRyOw0KQEAgLTk3 NSw3ICs5NzUsNyBAQA0KIAlzdS0+c2Euc2FfbGVuID0gYWZsZW47DQogCXN1 LT5zYS5zYV9mYW1pbHkgPSBhZmFtaWx5OyAvKiBjYXNlcyB0aGF0IGRvbid0 IHdhbnQgaXQgaGF2ZSBsZWZ0DQogCQkJCSAgICAgICBhbHJlYWR5ICovDQot CWlmIChzdHJjbXAocywgImRlZmF1bHQiKSA9PSAwKSB7DQorCWlmIChzdHJj bXAoc3RyLCAiZGVmYXVsdCIpID09IDApIHsNCiAJCS8qDQogCQkgKiBEZWZh dWx0IGlzIG5ldCAwLjAuMC4wLzANCiAJCSAqLw0KQEAgLTk4Myw3ICs5ODMs NyBAQA0KIAkJY2FzZSBSVEFfRFNUOg0KIAkJCWZvcmNlbmV0Kys7DQogCQkJ LyogYnplcm8oc3UsIHNpemVvZigqc3UpKTsgKi8vKiBmb3IgcmVhZGFiaWxp dHkgKi8NCi0JCQlnZXRhZGRyKFJUQV9ORVRNQVNLLCBzLCAwKTsNCisJCQln ZXRhZGRyKFJUQV9ORVRNQVNLLCBzdHIsIDApOw0KIAkJCWJyZWFrOw0KIAkJ Y2FzZSBSVEFfTkVUTUFTSzoNCiAJCWNhc2UgUlRBX0dFTk1BU0s6DQpAQCAt OTk5LDE2ICs5OTksMTYgQEANCiAJCXN0cnVjdCBhZGRyaW5mbyBoaW50cywg KnJlczsNCiANCiAJCXEgPSBOVUxMOw0KLQkJaWYgKHdoaWNoID09IFJUQV9E U1QgJiYgKHEgPSBzdHJjaHIocywgJy8nKSkgIT0gTlVMTCkNCisJCWlmICh3 aGljaCA9PSBSVEFfRFNUICYmIChxID0gc3RyY2hyKHN0ciwgJy8nKSkgIT0g TlVMTCkNCiAJCQkqcSA9ICdcMCc7DQogCQltZW1zZXQoJmhpbnRzLCAwLCBz aXplb2YoaGludHMpKTsNCiAJCWhpbnRzLmFpX2ZhbWlseSA9IGFmYW1pbHk7 CS8qQUZfSU5FVDYqLw0KIAkJaGludHMuYWlfZmxhZ3MgPSBBSV9OVU1FUklD SE9TVDsNCiAJCWhpbnRzLmFpX3NvY2t0eXBlID0gU09DS19ER1JBTTsJCS8q ZHVtbXkqLw0KLQkJaWYgKGdldGFkZHJpbmZvKHMsICIwIiwgJmhpbnRzLCAm cmVzKSAhPSAwIHx8DQorCQlpZiAoZ2V0YWRkcmluZm8oc3RyLCAiMCIsICZo aW50cywgJnJlcykgIT0gMCB8fA0KIAkJICAgIHJlcy0+YWlfZmFtaWx5ICE9 IEFGX0lORVQ2IHx8DQogCQkgICAgcmVzLT5haV9hZGRybGVuICE9IHNpemVv ZihzdS0+c2luNikpIHsNCi0JCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBiYWQg dmFsdWVcbiIsIHMpOw0KKwkJCWZwcmludGYoc3RkZXJyLCAiJXM6IGJhZCB2 YWx1ZVxuIiwgc3RyKTsNCiAJCQlleGl0KDEpOw0KIAkJfQ0KIAkJbWVtY3B5 KCZzdS0+c2luNiwgcmVzLT5haV9hZGRyLCBzaXplb2Yoc3UtPnNpbjYpKTsN CkBAIC0xMDMzLDcgKzEwMzMsNiBAQA0KICNpZmRlZiBOUw0KIAljYXNlIEFG X05TOg0KIAkJaWYgKHdoaWNoID09IFJUQV9EU1QpIHsNCi0JCQlleHRlcm4g c2hvcnQgbnNfYmhbM107DQogCQkJc3RydWN0IHNvY2thZGRyX25zICpzbXMg PSAmKHNvX21hc2suc25zKTsNCiAJCQltZW1zZXQoc21zLCAwLCBzaXplb2Yo KnNtcykpOw0KIAkJCXNtcy0+c25zX2ZhbWlseSA9IDA7DQpAQCAtMTA0MSwy NSArMTA0MCwyNSBAQA0KIAkJCXNtcy0+c25zX2FkZHIueF9uZXQgPSAqKHVu aW9uIG5zX25ldCAqKW5zX2JoOw0KIAkJCXJ0bV9hZGRycyB8PSBSVEFfTkVU TUFTSzsNCiAJCX0NCi0JCXN1LT5zbnMuc25zX2FkZHIgPSBuc19hZGRyKHMp Ow0KKwkJc3UtPnNucy5zbnNfYWRkciA9IG5zX2FkZHIoc3RyKTsNCiAJCXJl dHVybighbnNfbnVsbGhvc3Qoc3UtPnNucy5zbnNfYWRkcikpOw0KICNlbmRp Zg0KIA0KIA0KIAljYXNlIEFGX0FQUExFVEFMSzoNCi0JCWlmICghYXRhbGtf YXRvbihzLCAmc3UtPnNhdC5zYXRfYWRkcikpDQotCQkJZXJyeChFWF9OT0hP U1QsICJiYWQgYWRkcmVzczogJXMiLCBzKTsNCisJCWlmICghYXRhbGtfYXRv bihzdHIsICZzdS0+c2F0LnNhdF9hZGRyKSkNCisJCQllcnJ4KEVYX05PSE9T VCwgImJhZCBhZGRyZXNzOiAlcyIsIHN0cik7DQogCQlydG1fYWRkcnMgfD0g UlRBX05FVE1BU0s7DQogCQlyZXR1cm4oZm9yY2Vob3N0IHx8IHN1LT5zYXQu c2F0X2FkZHIuc19ub2RlICE9IDApOw0KIA0KIAljYXNlIEFGX0xJTks6DQot CQlsaW5rX2FkZHIocywgJnN1LT5zZGwpOw0KKwkJbGlua19hZGRyKHN0ciwg JnN1LT5zZGwpOw0KIAkJcmV0dXJuKDEpOw0KIA0KIA0KIAljYXNlIFBGX1JP VVRFOg0KIAkJc3UtPnNhLnNhX2xlbiA9IHNpemVvZigqc3UpOw0KLQkJc29j a2FkZHIocywgJnN1LT5zYSk7DQorCQlzb2NrYWRkcihzdHIsICZzdS0+c2Ep Ow0KIAkJcmV0dXJuKDEpOw0KIA0KIAljYXNlIEFGX0lORVQ6DQpAQCAtMTA3 MSwxMCArMTA3MCwxMCBAQA0KIAkJaHBwID0gJmhwOw0KIAkqaHBwID0gTlVM TDsNCiANCi0JcSA9IHN0cmNocihzLCcvJyk7DQorCXEgPSBzdHJjaHIoc3Ry LCcvJyk7DQogCWlmIChxICYmIHdoaWNoID09IFJUQV9EU1QpIHsNCiAJCSpx ID0gJ1wwJzsNCi0JCWlmICgodmFsID0gaW5ldF9uZXR3b3JrKHMpKSAhPSBJ TkFERFJfTk9ORSkgew0KKwkJaWYgKCh2YWwgPSBpbmV0X25ldHdvcmsoc3Ry KSkgIT0gSU5BRERSX05PTkUpIHsNCiAJCQlpbmV0X21ha2VuZXRhbmRtYXNr KA0KIAkJCQl2YWwsICZzdS0+c2luLCBzdHJ0b3VsKHErMSwgMCwgMCkpOw0K IAkJCXJldHVybigwKTsNCkBAIC0xMDgyLDcgKzEwODEsNyBAQA0KIAkJKnEg PSAnLyc7DQogCX0NCiAJaWYgKCh3aGljaCAhPSBSVEFfRFNUIHx8IGZvcmNl bmV0ID09IDApICYmDQotCSAgICBpbmV0X2F0b24ocywgJnN1LT5zaW4uc2lu X2FkZHIpKSB7DQorCSAgICBpbmV0X2F0b24oc3RyLCAmc3UtPnNpbi5zaW5f YWRkcikpIHsNCiAJCXZhbCA9IHN1LT5zaW4uc2luX2FkZHIuc19hZGRyOw0K IAkJaWYgKHdoaWNoICE9IFJUQV9EU1QgfHwNCiAJCSAgICBpbmV0X2xuYW9m KHN1LT5zaW4uc2luX2FkZHIpICE9IElOQUREUl9BTlkpDQpAQCAtMTA5Mywy NyArMTA5MiwyNyBAQA0KIAkJfQ0KIAl9DQogCWlmICh3aGljaCA9PSBSVEFf RFNUICYmIGZvcmNlaG9zdCA9PSAwICYmDQotCSAgICAoKHZhbCA9IGluZXRf bmV0d29yayhzKSkgIT0gSU5BRERSX05PTkUgfHwNCi0JICAgICgobnAgPSBn ZXRuZXRieW5hbWUocykpICE9IE5VTEwgJiYgKHZhbCA9IG5wLT5uX25ldCkg IT0gMCkpKSB7DQorCSAgICAoKHZhbCA9IGluZXRfbmV0d29yayhzdHIpKSAh PSBJTkFERFJfTk9ORSB8fA0KKwkgICAgKChucCA9IGdldG5ldGJ5bmFtZShz dHIpKSAhPSBOVUxMICYmICh2YWwgPSBucC0+bl9uZXQpICE9IDApKSkgew0K IG5ldGRvbmU6DQogCQlpbmV0X21ha2VuZXRhbmRtYXNrKHZhbCwgJnN1LT5z aW4sIDApOw0KIAkJcmV0dXJuKDApOw0KIAl9DQotCWhwID0gZ2V0aG9zdGJ5 bmFtZShzKTsNCisJaHAgPSBnZXRob3N0YnluYW1lKHN0cik7DQogCWlmICho cCkgew0KIAkJKmhwcCA9IGhwOw0KIAkJc3UtPnNpbi5zaW5fZmFtaWx5ID0g aHAtPmhfYWRkcnR5cGU7DQogCQltZW1tb3ZlKChjaGFyICopJnN1LT5zaW4u c2luX2FkZHIsIGhwLT5oX2FkZHIsDQotCQkgICAgTUlOKGhwLT5oX2xlbmd0 aCwgc2l6ZW9mKHN1LT5zaW4uc2luX2FkZHIpKSk7DQorCQkgICAgTUlOKChz aXplX3QpaHAtPmhfbGVuZ3RoLCBzaXplb2Yoc3UtPnNpbi5zaW5fYWRkcikp KTsNCiAJCXJldHVybigxKTsNCiAJfQ0KLQllcnJ4KEVYX05PSE9TVCwgImJh ZCBhZGRyZXNzOiAlcyIsIHMpOw0KKwllcnJ4KEVYX05PSE9TVCwgImJhZCBh ZGRyZXNzOiAlcyIsIHN0cik7DQogfQ0KIA0KLWludA0KLXByZWZpeGxlbihj aGFyICpzKQ0KK3N0YXRpYyBpbnQNCitwcmVmaXhsZW4oY29uc3QgY2hhciAq bGVuX3N0cikNCiB7DQotCWludCBsZW4gPSBhdG9pKHMpLCBxLCByOw0KKwlp bnQgbGVuID0gYXRvaShsZW5fc3RyKSwgcSwgcjsNCiAJaW50IG1heDsNCiAJ Y2hhciAqcDsNCiANCkBAIC0xMTM2LDcgKzExMzUsNyBAQA0KIAl9DQogDQog CWlmIChsZW4gPCAwIHx8IG1heCA8IGxlbikgew0KLQkJZnByaW50ZihzdGRl cnIsICIlczogYmFkIHZhbHVlXG4iLCBzKTsNCisJCWZwcmludGYoc3RkZXJy LCAiJXM6IGJhZCB2YWx1ZVxuIiwgbGVuX3N0cik7DQogCQlleGl0KDEpOw0K IAl9DQogCQ0KQEAgLTExNTYsOCArMTE1NSw3IEBADQogfQ0KIA0KICNpZmRl ZiBOUw0KLXNob3J0IG5zX251bGxoW10gPSB7MCwwLDB9Ow0KLXNob3J0IG5z X2JoW10gPSB7LTEsLTEsLTF9Ow0KK3N0YXRpYyBzaG9ydCBuc19udWxsaFtd ID0gezAsMCwwfTsNCiANCiBjaGFyICoNCiBuc19wcmludChzdHJ1Y3Qgc29j a2FkZHJfbnMgKnNucykNCkBAIC0xMTY2LDcgKzExNjQsNyBAQA0KIAl1bmlv biB7IHVuaW9uIG5zX25ldCBuZXRfZTsgdV9sb25nIGxvbmdfZTsgfSBuZXQ7 DQogCXVfc2hvcnQgcG9ydDsNCiAJc3RhdGljIGNoYXIgbXlidWZbNTArTUFY SE9TVE5BTUVMRU5dLCBjcG9ydFsxMF0sIGNob3N0WzI1XTsNCi0JY2hhciAq aG9zdCA9ICIiOw0KKwljb25zdCBjaGFyICpob3N0ID0gIiI7DQogCWNoYXIg KnA7DQogCXVfY2hhciAqcTsNCiANCkBAIC0xMTc2LDggKzExNzQsOSBAQA0K IAluZXQubmV0X2UgID0gd29yay54X25ldDsNCiAJaWYgKG5zX251bGxob3N0 KHdvcmspICYmIG5ldC5sb25nX2UgPT0gMCkgew0KIAkJaWYgKCFwb3J0KQ0K LQkJCXJldHVybigiKi4qIik7DQotCQlzcHJpbnRmKG15YnVmLCAiKi4lWEgi LCBwb3J0KTsNCisJCQlzdHJuY3B5KG15YnVmLCAiKi4qIiwgc2l6ZW9mKG15 YnVmKSk7DQorCQllbHNlDQorCQkJc3ByaW50ZihteWJ1ZiwgIiouJVhIIiwg cG9ydCk7DQogCQlyZXR1cm4obXlidWYpOw0KIAl9DQogDQpAQCAtMTIwNSw3 ICsxMjA0LDcgQEANCiB9DQogI2VuZGlmDQogDQotdm9pZA0KK3N0YXRpYyB2 b2lkDQogaW50ZXJmYWNlcyh2b2lkKQ0KIHsNCiAJc2l6ZV90IG5lZWRlZDsN CkBAIC0xMjMyLDcgKzEyMzEsNyBAQA0KIAl9DQogfQ0KIA0KLXZvaWQNCitz dGF0aWMgdm9pZA0KIG1vbml0b3Iodm9pZCkNCiB7DQogCWludCBuOw0KQEAg LTEyNTcsNyArMTI1Niw3IEBADQogCWNoYXIJbV9zcGFjZVs1MTJdOw0KIH0g bV9ydG1zZzsNCiANCi1pbnQNCitzdGF0aWMgaW50DQogcnRtc2coaW50IGNt ZCwgaW50IGZsYWdzKQ0KIHsNCiAJc3RhdGljIGludCBzZXE7DQpAQCAtMTMy NSw3ICsxMzI0LDcgQEANCiAJcmV0dXJuKDApOw0KIH0NCiANCi12b2lkDQor c3RhdGljIHZvaWQNCiBtYXNrX2FkZHIodm9pZCkNCiB7DQogCWludCBvbGVu ID0gc29fbWFzay5zYS5zYV9sZW47DQpAQCAtMTM1OSw3ICsxMzU4LDcgQEAN CiAJCSotLWNwMSAmPSAqLS1jcDI7DQogfQ0KIA0KLWNoYXIgKm1zZ3R5cGVz W10gPSB7DQorY29uc3QgY2hhciAqbXNndHlwZXNbXSA9IHsNCiAJIiIsDQog CSJSVE1fQUREOiBBZGQgUm91dGUiLA0KIAkiUlRNX0RFTEVURTogRGVsZXRl IFJvdXRlIiwNCkBAIC0xMzk2LDggKzEzOTUsOCBAQA0KIGNoYXIgYWRkcm5h bWVzW10gPQ0KICJcMURTVFwyR0FURVdBWVwzTkVUTUFTS1w0R0VOTUFTS1w1 SUZQXDZJRkFcN0FVVEhPUlwwMTBCUkQiOw0KIA0KLXZvaWQNCi1wcmludF9y dG1zZyhzdHJ1Y3QgcnRfbXNnaGRyICpydG0sIGludCBtc2dsZW4pDQorc3Rh dGljIHZvaWQNCitwcmludF9ydG1zZyhzdHJ1Y3QgcnRfbXNnaGRyICpydG0s IGludCBtc2dsZW4gX191bnVzZWQpDQogew0KIAlzdHJ1Y3QgaWZfbXNnaGRy ICppZm07DQogCXN0cnVjdCBpZmFfbXNnaGRyICppZmFtOw0KQEAgLTE0NjQs NyArMTQ2Myw3IEBADQogCX0NCiB9DQogDQotdm9pZA0KK3N0YXRpYyB2b2lk DQogcHJpbnRfZ2V0bXNnKHN0cnVjdCBydF9tc2doZHIgKnJ0bSwgaW50IG1z Z2xlbikNCiB7DQogCXN0cnVjdCBzb2NrYWRkciAqZHN0ID0gTlVMTCwgKmdh dGUgPSBOVUxMLCAqbWFzayA9IE5VTEw7DQpAQCAtMTU1OCw3ICsxNTU3LDcg QEANCiAjdW5kZWYJUlRBX0lHTg0KIH0NCiANCi12b2lkDQorc3RhdGljIHZv aWQNCiBwbXNnX2NvbW1vbihzdHJ1Y3QgcnRfbXNnaGRyICpydG0pDQogew0K IAlwcmludGYoIlxubG9ja3M6ICIpOw0KQEAgLTE1NjgsNyArMTU2Nyw3IEBA DQogCXBtc2dfYWRkcnMoKChjaGFyICopKHJ0bSArIDEpKSwgcnRtLT5ydG1f YWRkcnMpOw0KIH0NCiANCi12b2lkDQorc3RhdGljIHZvaWQNCiBwbXNnX2Fk ZHJzKGNoYXIgKmNwLCBpbnQgYWRkcnMpDQogew0KIAlzdHJ1Y3Qgc29ja2Fk ZHIgKnNhOw0KQEAgLTE1OTEsMTUgKzE1OTAsMTUgQEANCiAJZmZsdXNoKHN0 ZG91dCk7DQogfQ0KIA0KLXZvaWQNCi1icHJpbnRmKEZJTEUgKmZwLCBpbnQg YiwgdV9jaGFyICpzKQ0KK3N0YXRpYyB2b2lkDQorYnByaW50ZihGSUxFICpm cCwgaW50IGIsIHVfY2hhciAqc3RyKQ0KIHsNCiAJaW50IGk7DQogCWludCBn b3Rzb21lID0gMDsNCiANCiAJaWYgKGIgPT0gMCkNCiAJCXJldHVybjsNCi0J d2hpbGUgKChpID0gKnMrKykgIT0gMCkgew0KKwl3aGlsZSAoKGkgPSAqc3Ry KyspICE9IDApIHsNCiAJCWlmIChiICYgKDEgPDwgKGktMSkpKSB7DQogCQkJ aWYgKGdvdHNvbWUgPT0gMCkNCiAJCQkJaSA9ICc8JzsNCkBAIC0xNjA3LDEx ICsxNjA2LDExIEBADQogCQkJCWkgPSAnLCc7DQogCQkJcHV0YyhpLCBmcCk7 DQogCQkJZ290c29tZSA9IDE7DQotCQkJZm9yICg7IChpID0gKnMpID4gMzI7 IHMrKykNCisJCQlmb3IgKDsgKGkgPSAqc3RyKSA+IDMyOyBzdHIrKykNCiAJ CQkJcHV0YyhpLCBmcCk7DQogCQl9IGVsc2UNCi0JCQl3aGlsZSAoKnMgPiAz MikNCi0JCQkJcysrOw0KKwkJCXdoaWxlICgqc3RyID4gMzIpDQorCQkJCXN0 cisrOw0KIAl9DQogCWlmIChnb3Rzb21lKQ0KIAkJcHV0YygnPicsIGZwKTsN CkBAIC0xNjI3LDggKzE2MjYsOCBAQA0KIAlyZXR1cm4oa3QtPmt0X2kpOw0K IH0NCiANCi12b2lkDQotc29kdW1wKHN1cCBzdSwgY2hhciAqd2hpY2gpDQor c3RhdGljIHZvaWQNCitzb2R1bXAoc3VwIHN1LCBjb25zdCBjaGFyICp3aGlj aCkNCiB7DQogCXN3aXRjaCAoc3UtPnNhLnNhX2ZhbWlseSkgew0KIAljYXNl IEFGX0xJTks6DQpAQCAtMTY2Miw3ICsxNjYxLDcgQEANCiAjZGVmaW5lCUVO RAkoNCoxKQ0KICNkZWZpbmUgREVMSU0JKDQqMikNCiANCi12b2lkDQorc3Rh dGljIHZvaWQNCiBzb2NrYWRkcihjaGFyICphZGRyLCBzdHJ1Y3Qgc29ja2Fk ZHIgKnNhKQ0KIHsNCiAJY2hhciAqY3AgPSAoY2hhciAqKXNhOw0KQEAgLTE3 MDQsNyArMTcwMyw3IEBADQogCXNhLT5zYV9sZW4gPSBjcCAtIChjaGFyICop c2E7DQogfQ0KIA0KLWludA0KK3N0YXRpYyBpbnQNCiBhdGFsa19hdG9uKGNv bnN0IGNoYXIgKnRleHQsIHN0cnVjdCBhdF9hZGRyICphZGRyKQ0KIHsNCiAJ dV9pbnQgbmV0LCBub2RlOw0KQEAgLTE3MTcsNyArMTcxNiw3IEBADQogCXJl dHVybigxKTsNCiB9DQogDQotY2hhciAqDQorc3RhdGljIGNoYXIgKg0KIGF0 YWxrX250b2Eoc3RydWN0IGF0X2FkZHIgYXQpDQogew0KIAlzdGF0aWMgY2hh ciBidWZbMjBdOw0K --=_jive-19245-1110283532-0001-2 Content-Type: text/plain; charset=us-ascii; name="patch.show.c" Content-Transfer-Encoding: base64 Content-ID: <20050308201142.E1319@localhost> Content-Description: Content-Disposition: attachment; filename="patch.show.c" MSkgYWRkIG1pc3Npbmcgc3RhdGljIHZhcmlhYmxlIGluaXRpYWxpemVyDQoy KSBTdHlsZSg5KSBjbGVhbiB1cA0KMykgYWRkIGBjb25zdCcgdG8gYXZvaWQg LVdjYXN0LXF1YWwgd2FybmluZw0KNCkgY2hhbmdlIHNvbWUgbG9jYWwgdmFy aWFibGUgbmFtZSB0byBhdm9pZCBzaGFkb3dpbmcgdGhlIGdsb2JhbCB2YXJp YWJsZS4NCjUpIGNoYW5nZSBzb21lIGNvbnN0IHN0cmluZyBhc3NpZ24gdG8g bm9uLWNvbnN0IHZhcmlhYmxlIHRvIGRlZXAgY29weSwgYW5kIGNvbW1lbnQg dGhlbQ0KNikgYXZvaWQgc2lnbmVkIGFuZCB1bnNpZ25lZCBjb21wYXJhdGlv biBieSBjYXN0IHNpZ25lZCB2YWx1ZSB0byB1bnNpZ25lZCB2YWx1ZSwgYW5k IGFkZCBjb21tZW50IHRoaXMgY2FzdA0KDQpJbmRleDogc2hvdy5jDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL29wdC9kZl9jdnMvc3Jj L3NiaW4vcm91dGUvc2hvdy5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4z DQpkaWZmIC11IC1yMS4zIHNob3cuYw0KLS0tIHNob3cuYwkyMyBNYXIgMjAw NCAxODoyNTo1MSAtMDAwMAkxLjMNCisrKyBzaG93LmMJOCBNYXIgMjAwNSAx MTozNzowOCAtMDAwMA0KQEAgLTg0LDE4ICs4NCwxNCBAQA0KIAl7IFJURl9Q Uk9UTzEsCScxJyB9LA0KIAl7IFJURl9QUk9UTzIsCScyJyB9LA0KIAl7IFJU Rl9QUk9UTzMsCSczJyB9LA0KLQl7IDAgfQ0KKwl7IDAsIDAgfQ0KIH07DQog DQotc3RhdGljIHZvaWQgcF9ydGVudHJ5KHN0cnVjdCBydF9tc2doZHIgKik7 DQotc3RhdGljIGludCBwX3NvY2thZGRyKHN0cnVjdCBzb2NrYWRkciAqLCBp bnQsIGludCk7DQotc3RhdGljIHZvaWQgcF9mbGFncyhpbnQsIGNoYXIgKik7 DQotc3RhdGljIHZvaWQgcHJfcnRoZHIodm9pZCk7DQotc3RhdGljIHZvaWQg cHJfZmFtaWx5KGludCk7DQotDQotaW50CWtleXdvcmQoY2hhciAqKTsNCi12 b2lkCXVzYWdlKGNoYXIgKik7DQotdm9pZAlzaG93KGludCBhcmdjLCBjaGFy ICphcmd2W10pOw0KK3N0YXRpYyB2b2lkCXBfcnRlbnRyeShzdHJ1Y3QgcnRf bXNnaGRyICopOw0KK3N0YXRpYyBpbnQJcF9zb2NrYWRkcihzdHJ1Y3Qgc29j a2FkZHIgKiwgaW50LCBpbnQpOw0KK3N0YXRpYyB2b2lkCXBfZmxhZ3MoaW50 LCBjb25zdCBjaGFyICopOw0KK3N0YXRpYyB2b2lkCXByX3J0aGRyKHZvaWQp Ow0KK3N0YXRpYyB2b2lkCXByX2ZhbWlseShpbnQpOw0KIA0KIC8qDQogICog UHJpbnQgcm91dGluZyB0YWJsZXMuDQpAQCAtMjQ3LDcgKzI0Myw3IEBADQog c3RhdGljIHZvaWQNCiBwcl9mYW1pbHkoaW50IGFmKQ0KIHsNCi0JY2hhciAq YWZuYW1lOw0KKwljb25zdCBjaGFyICphZm5hbWU7DQogDQogCXN3aXRjaCAo YWYpIHsNCiAJY2FzZSBBRl9JTkVUOg0KQEAgLTI4Niw4ICsyODIsOSBAQA0K IHN0YXRpYyBpbnQNCiBwX3NvY2thZGRyKHN0cnVjdCBzb2NrYWRkciAqc2Es IGludCBmbGFncywgaW50IHdpZHRoKQ0KIHsNCi0JY2hhciB3b3JrYnVmWzEy OF0sICpjcGxpbTsNCisJY2hhciB3b3JrYnVmWzEyOF07DQogCWNoYXIgKmNw ID0gd29ya2J1ZjsNCisJY29uc3QgY2hhciAqY3BsaW07DQogCWludCBsZW4g PSBzaXplb2Yod29ya2J1Zik7DQogCWludCBjb3VudDsNCiANCkBAIC0zMzEs MTEgKzMyOCwxMiBAQA0KIA0KIAljYXNlIEFGX0lORVQ6DQogCSAgICB7DQot CQlzdHJ1Y3Qgc29ja2FkZHJfaW4gKnNpbiA9IChzdHJ1Y3Qgc29ja2FkZHJf aW4gKilzYTsNCisJCXN0cnVjdCBzb2NrYWRkcl9pbiAqaW4gPSAoc3RydWN0 IHNvY2thZGRyX2luICopc2E7DQogDQotCQlpZiAoc2luLT5zaW5fYWRkci5z X2FkZHIgPT0gMCkNCi0JCQljcCA9ICJkZWZhdWx0IjsNCi0JCWVsc2UNCisJ CWlmIChpbi0+c2luX2FkZHIuc19hZGRyID09IDApIHsNCisJCQkvKiBjcCBw b2ludHMgdG8gd29ya2J1ZiAqLw0KKwkJCXN0cm5jcHkoY3AsICJkZWZhdWx0 IiwgbGVuKTsNCisJCX0gZWxzZQ0KIAkJCWNwID0gKGZsYWdzICYgUlRGX0hP U1QpID8gcm91dGVuYW1lKHNhKSA6IG5ldG5hbWUoc2EpOw0KIAkJYnJlYWs7 DQogCSAgICB9DQpAQCAtMzQzLDEyICszNDEsMjIgQEANCiAjaWZkZWYgSU5F VDYNCiAJY2FzZSBBRl9JTkVUNjoNCiAJICAgIHsNCi0JCXN0cnVjdCBzb2Nr YWRkcl9pbjYgKnNpbiA9IChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopc2E7DQor CQlzdHJ1Y3Qgc29ja2FkZHJfaW42ICppbjYgPSAoc3RydWN0IHNvY2thZGRy X2luNiAqKXNhOw0KIA0KLQkJY3AgPSBJTjZfSVNfQUREUl9VTlNQRUNJRklF RCgmc2luLT5zaW42X2FkZHIpID8gImRlZmF1bHQiIDoNCi0JCQkoKGZsYWdz ICYgUlRGX0hPU1QpID8gIHJvdXRlbmFtZShzYSkgOgluZXRuYW1lKHNhKSk7 DQotCQkvKiBtYWtlIHN1cmUgbnVtZXJpYyBhZGRyZXNzIGlzIG5vdCB0cnVu Y2F0ZWQgKi8NCi0JCWlmIChzdHJjaHIoY3AsICc6JykgIT0gTlVMTCAmJiBz dHJsZW4oY3ApID4gd2lkdGgpDQorCQlpZiAoSU42X0lTX0FERFJfVU5TUEVD SUZJRUQoJmluNi0+c2luNl9hZGRyKSkgew0KKwkJCS8qIGNwIHBvaW50cyB0 byB3b3JrYnVmICovDQorCQkJc3RybmNweShjcCwgImRlZmF1bHQiLCBsZW4p Ow0KKwkJfSBlbHNlIHsNCisJCQljcCA9ICgoZmxhZ3MgJiBSVEZfSE9TVCkg PyByb3V0ZW5hbWUoc2EpDQorCQkJCQkJIDogbmV0bmFtZShzYSkpOw0KKwkJ fQ0KKwkJLyoNCisJCSAqIElmIHdpZHRoIDwgMCwgaXQgaXMgY2VydGFpbiB0 aGF0IG5vIHRydW5jYXRpb24gd2lsbCBoZXBwZW4uDQorCQkgKiBJZiB3aWR0 aCA+PSAwLCB3ZSBoYXZlIHRvIG1ha2Ugc3VyZSBudW1lcmljIGFkZHJlc3Mg aXMgbm90DQorCQkgKiB0cnVuY2F0ZWQsIGFsc28gaW4gdGhpcyBjYXNlIHR5 cGUgY2FzdCBpcyBzYWZlLg0KKwkJICovDQorCQlpZiAoc3RyY2hyKGNwLCAn OicpICE9IE5VTEwgJiYNCisJCSAgICB3aWR0aCA+PSAwICYmIHN0cmxlbihj cCkgPiAoc2l6ZV90KXdpZHRoKQ0KIAkJCXdpZHRoID0gc3RybGVuKGNwKTsN CiAJCWJyZWFrOw0KIAkgICAgfQ0KQEAgLTQwMCw3ICs0MDgsNyBAQA0KIH0N CiANCiBzdGF0aWMgdm9pZA0KLXBfZmxhZ3MoaW50IGYsIGNoYXIgKmZvcm1h dCkNCitwX2ZsYWdzKGludCBmLCBjb25zdCBjaGFyICpmb3JtYXQpDQogew0K IAljaGFyIG5hbWVbMzNdLCAqZmxhZ3M7DQogCWNvbnN0IHN0cnVjdCBiaXRz ICpwID0gYml0czsNCg== --=_jive-19245-1110283532-0001-2 Content-Type: text/plain; charset=us-ascii; name="patch.extern.h" Content-Transfer-Encoding: base64 Content-ID: <20050308201142.K1319@localhost> Content-Description: Content-Disposition: attachment; filename="patch.extern.h" MSkgU3R5bGUoOSkgY2xlYW4gdXANCjIpIHJlbW92ZSB1bnVzZWQgc3RydWN0 IHNvY2thZGRyX3gyNQ0KMykgY29uZGl0aW9uYWxseShOUykgZXhwb3NlIG5z X3ByaW50DQoNCkluZGV4OiBleHRlcm4uaA0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KUkNTIGZpbGU6IC9vcHQvZGZfY3ZzL3NyYy9zYmluL3JvdXRlL2V4 dGVybi5oLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yDQpkaWZmIC11IC1y MS4yIGV4dGVybi5oDQotLS0gZXh0ZXJuLmgJMjMgTWFyIDIwMDQgMTg6MjU6 NTEgLTAwMDAJMS4yDQorKysgZXh0ZXJuLmgJOCBNYXIgMjAwNSAxMTozNDox NCAtMDAwMA0KQEAgLTMzLDE0ICszMywxOCBAQA0KICAqLw0KIA0KIHN0cnVj dCBzb2NrYWRkcjsNCi1zdHJ1Y3Qgc29ja2FkZHJfeDI1Ow0KIHN0cnVjdCBz b2NrYWRkcl9uczsNCiANCiAvKiBzaG93LmMgKi8NCi12b2lkIHNob3coaW50 LCBjaGFyICoqKTsNCit2b2lkCSBzaG93KGludCwgY2hhciAqKik7DQogDQog Lyogcm91dGUuYyAqLw0KLWV4dGVybiBpbnQgbmZsYWcsIHdmbGFnOw0KLWNo YXIgKnJvdXRlbmFtZShzdHJ1Y3Qgc29ja2FkZHIgKik7DQotY2hhciAqbmV0 bmFtZShzdHJ1Y3Qgc29ja2FkZHIgKik7DQotY2hhciAqbnNfcHJpbnQoc3Ry dWN0IHNvY2thZGRyX25zICopOw0KK2V4dGVybiBpbnQJbmZsYWcsIHdmbGFn Ow0KKw0KK2NoYXIJKnJvdXRlbmFtZShzdHJ1Y3Qgc29ja2FkZHIgKik7DQor Y2hhcgkqbmV0bmFtZShzdHJ1Y3Qgc29ja2FkZHIgKik7DQoraW50CSBrZXl3 b3JkKGNoYXIgKik7DQordm9pZAkgdXNhZ2UoY29uc3QgY2hhciAqKSBfX2Rl YWQyOw0KKyNpZmRlZiBOUw0KK2NoYXIJKm5zX3ByaW50KHN0cnVjdCBzb2Nr YWRkcl9ucyAqKTsNCisjZW5kaWYNCg== --=_jive-19245-1110283532-0001-2 Content-Type: text/plain; charset=us-ascii; name="patch.Makefile" Content-Transfer-Encoding: base64 Content-ID: <20050308201142.W1319@localhost> Content-Description: Content-Disposition: attachment; filename="patch.Makefile" MSkgYWRkIFdBUk5TPz02IGFuZCBXQVJOU19XRVJST1I9eWVzDQoyKSByZW1v dmUgLVdhbGwgZnJvbSBDRkxBR1MNCjMpIGNoYW5nZSBgY2hhciAqJyB0byBt b3JlIHByb3BlciBgY29uc3QgY2hhciAqJyBkdXJpbmcga2V5d29yZC5oIGdl bmVyYXRpb24NCg0KSW5kZXg6IE1ha2VmaWxlDQo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQpSQ1MgZmlsZTogL29wdC9kZl9jdnMvc3JjL3NiaW4vcm91dGUv TWFrZWZpbGUsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjQNCmRpZmYgLXUg LXIxLjQgTWFrZWZpbGUNCi0tLSBNYWtlZmlsZQkyNCBNYXIgMjAwNCAwNzow NDoyOCAtMDAwMAkxLjQNCisrKyBNYWtlZmlsZQk4IE1hciAyMDA1IDExOjIy OjA0IC0wMDAwDQpAQCAtMiwxNSArMiwxNyBAQA0KICMgJEZyZWVCU0Q6IHNy Yy9zYmluL3JvdXRlL01ha2VmaWxlLHYgMS4xMS4yLjMgMjAwMi8xMi8wNCAx NDowNTo0MiBydSBFeHAgJA0KICMgJERyYWdvbkZseTogc3JjL3NiaW4vcm91 dGUvTWFrZWZpbGUsdiAxLjQgMjAwNC8wMy8yNCAwNzowNDoyOCBkaWxsb24g RXhwICQNCiANCitXQVJOUz89Ng0KK1dBUk5TX1dFUlJPUj15ZXMNCiBQUk9H PQlyb3V0ZQ0KIE1BTj0Jcm91dGUuOA0KIFNSQ1M9CXJvdXRlLmMgc2hvdy5j IGtleXdvcmRzLmgga2V5d29yZHMuYw0KLUNGTEFHUys9LUkuIC1XYWxsIC1E TlMNCitDRkxBR1MrPS1JLiAtRE5TDQogQ0ZMQUdTKz0tRElORVQ2DQogQ0xF QU5GSUxFUys9a2V5d29yZHMuaCBrZXl3b3Jkcy5jIF9rZXl3b3Jkcy50bXAN CiANCiBrZXl3b3Jkcy5oOg0KLQllY2hvIC1lICJleHRlcm4gc3RydWN0IGtl eXRhYiB7XG5cdGNoYXJcdCprdF9jcDtcblx0aW50XHQga3RfaTtcbn0ga2V5 d29yZHNbXTtcblxuIiA+ICR7LlRBUkdFVH0NCisJZWNobyAtZSAiZXh0ZXJu IHN0cnVjdCBrZXl0YWIge1xuXHRjb25zdCBjaGFyXHQqa3RfY3A7XG5cdGlu dFx0XHQga3RfaTtcbn0ga2V5d29yZHNbXTtcblxuIiA+ICR7LlRBUkdFVH0N CiAJc2VkIC1lICcvXiMvZCcgLWUgJy9eJCQvZCcgJHsuQ1VSRElSfS9rZXl3 b3JkcyA+IF9rZXl3b3Jkcy50bXANCiAJdHIgYS16IEEtWiA8IF9rZXl3b3Jk cy50bXAgfCBwYXN0ZSBfa2V5d29yZHMudG1wIC0gfCBcDQogCSAgICBhd2sg J3sgXA0K --=_jive-19245-1110283532-0001-2--
文章代碼(AID): #12BPjJ00 (DFBSD_submit)
文章代碼(AID): #12BPjJ00 (DFBSD_submit)