From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264311AbTLVGC7 (ORCPT ); Mon, 22 Dec 2003 01:02:59 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264315AbTLVGC7 (ORCPT ); Mon, 22 Dec 2003 01:02:59 -0500 Received: from zero.voxel.net ([209.123.232.253]:40401 "EHLO zero.voxel.net") by vger.kernel.org with ESMTP id S264311AbTLVGCy (ORCPT ); Mon, 22 Dec 2003 01:02:54 -0500 Subject: [PATCH 1/10] CardServices() removal from pcmcia net drivers From: Andres Salomon To: linux-kernel@vger.kernel.org Cc: dahinds@users.sourceforge.net, akpm@osdl.org Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-/HBRCx3IncEZ5I+jEl2h" Message-Id: <1072072772.27831.14.camel@spiral.internal> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.5 Date: Mon, 22 Dec 2003 00:59:32 -0500 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org --=-/HBRCx3IncEZ5I+jEl2h Content-Type: multipart/mixed; boundary="=-BtmeKi4aYJPs4q/T4P5P" --=-BtmeKi4aYJPs4q/T4P5P Content-Type: text/plain Content-Transfer-Encoding: quoted-printable These patches simply replace the various CardServices() calls w/ their pcmcia_* function. The pcmcia functions fit better with kernel conventions, and don't have the nasty var args stuff. These patches also fix a few places where the args supplied to CardServices were either not supplied, or dealt with in non-obvious ways. --=-BtmeKi4aYJPs4q/T4P5P Content-Disposition: attachment; filename=001-cs_remove.patch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name=001-cs_remove.patch; charset=us-ascii UmV2aXNpb246IGxpbnV4LS1tYWlubGluZS0tMi42LS1wYXRjaC04DQpBcmNoaXZlOiBkaWxpbmdl ckB2b3hlbC5uZXQtLTIwMDMtc3BpcmFsDQpDcmVhdG9yOiBBbmRyZXMgU2Fsb21vbiA8ZGlsaW5n ZXJAdm94ZWwubmV0Pg0KRGF0ZTogU3VuIERlYyAyMSAxNToyMjo0NyBFU1QgMjAwMw0KU3RhbmRh cmQtZGF0ZTogMjAwMy0xMi0yMSAyMDoyMjo0NyBHTVQNCk1vZGlmaWVkLWZpbGVzOiBkcml2ZXJz L25ldC9wY21jaWEvcGNuZXRfY3MuYw0KTmV3LXBhdGNoZXM6IGRpbGluZ2VyQHZveGVsLm5ldC0t MjAwMy1zcGlyYWwvbGludXgtLW1haW5saW5lLS0yLjYtLXBhdGNoLTgNClN1bW1hcnk6IENhcmRT ZXJ2aWNlcygpIHJlbW92YWwsIHB0LiAxDQpLZXl3b3JkczogDQoNClJlbW92ZSBjYWxscyB0byBD YXJkU2VydmljZXMoKSwgcGFydCAxOyBwY25ldF9jcy5jLg0KDQoqIGFkZGVkIGZpbGVzDQoNCiAg ICB7YXJjaH0vbGludXgvbGludXgtLW1haW5saW5lL2xpbnV4LS1tYWlubGluZS0tMi42L2RpbGlu Z2VyQHZveGVsLm5ldC0tMjAwMy1zcGlyYWwvcGF0Y2gtbG9nL3BhdGNoLTgNCg0KKiBtb2RpZmll ZCBmaWxlcw0KDQotLS0gb3JpZy9kcml2ZXJzL25ldC9wY21jaWEvcGNuZXRfY3MuYw0KKysrIG1v ZC9kcml2ZXJzL25ldC9wY21jaWEvcGNuZXRfY3MuYw0KQEAgLTMwMyw3ICszMDMsNyBAQA0KICAg ICBjbGllbnRfcmVnLmV2ZW50X2hhbmRsZXIgPSAmcGNuZXRfZXZlbnQ7DQogICAgIGNsaWVudF9y ZWcuVmVyc2lvbiA9IDB4MDIxMDsNCiAgICAgY2xpZW50X3JlZy5ldmVudF9jYWxsYmFja19hcmdz LmNsaWVudF9kYXRhID0gbGluazsNCi0gICAgcmV0ID0gQ2FyZFNlcnZpY2VzKFJlZ2lzdGVyQ2xp ZW50LCAmbGluay0+aGFuZGxlLCAmY2xpZW50X3JlZyk7DQorICAgIHJldCA9IHBjbWNpYV9yZWdp c3Rlcl9jbGllbnQoJmxpbmstPmhhbmRsZSwgJmNsaWVudF9yZWcpOw0KICAgICBpZiAocmV0ICE9 IENTX1NVQ0NFU1MpIHsNCiAJY3NfZXJyb3IobGluay0+aGFuZGxlLCBSZWdpc3RlckNsaWVudCwg cmV0KTsNCiAJcGNuZXRfZGV0YWNoKGxpbmspOw0KQEAgLTM0Miw3ICszNDIsNyBAQA0KICAgICB9 DQogDQogICAgIGlmIChsaW5rLT5oYW5kbGUpDQotCUNhcmRTZXJ2aWNlcyhEZXJlZ2lzdGVyQ2xp ZW50LCBsaW5rLT5oYW5kbGUpOw0KKwlwY21jaWFfZGVyZWdpc3Rlcl9jbGllbnQobGluay0+aGFu ZGxlKTsNCiANCiAgICAgLyogVW5saW5rIGRldmljZSBzdHJ1Y3R1cmUsIGZyZWUgYml0cyAqLw0K ICAgICAqbGlua3AgPSBsaW5rLT5uZXh0Ow0KQEAgLTM3Myw4ICszNzMsNyBAQA0KICAgICByZXEu QXR0cmlidXRlcyA9IFdJTl9EQVRBX1dJRFRIXzh8V0lOX01FTU9SWV9UWVBFX0FNfFdJTl9FTkFC TEU7DQogICAgIHJlcS5CYXNlID0gMDsgcmVxLlNpemUgPSAwOw0KICAgICByZXEuQWNjZXNzU3Bl ZWQgPSAwOw0KLSAgICBsaW5rLT53aW4gPSAod2luZG93X2hhbmRsZV90KWxpbmstPmhhbmRsZTsN Ci0gICAgaSA9IENhcmRTZXJ2aWNlcyhSZXF1ZXN0V2luZG93LCAmbGluay0+d2luLCAmcmVxKTsN CisgICAgaSA9IHBjbWNpYV9yZXF1ZXN0X3dpbmRvdygmbGluay0+aGFuZGxlLCAmcmVxLCAmbGlu ay0+d2luKTsNCiAgICAgaWYgKGkgIT0gQ1NfU1VDQ0VTUykgew0KIAljc19lcnJvcihsaW5rLT5o YW5kbGUsIFJlcXVlc3RXaW5kb3csIGkpOw0KIAlyZXR1cm4gTlVMTDsNCkBAIC0zODQsNyArMzgz LDcgQEANCiAgICAgbWVtLlBhZ2UgPSAwOw0KICAgICBmb3IgKGkgPSAwOyBpIDwgTlJfSU5GTzsg aSsrKSB7DQogCW1lbS5DYXJkT2Zmc2V0ID0gaHdfaW5mb1tpXS5vZmZzZXQgJiB+KHJlcS5TaXpl LTEpOw0KLQlDYXJkU2VydmljZXMoTWFwTWVtUGFnZSwgbGluay0+d2luLCAmbWVtKTsNCisJcGNt Y2lhX21hcF9tZW1fcGFnZShsaW5rLT53aW4sICZtZW0pOw0KIAliYXNlID0gJnZpcnRbaHdfaW5m b1tpXS5vZmZzZXQgJiAocmVxLlNpemUtMSldOw0KIAlpZiAoKHJlYWRiKGJhc2UrMCkgPT0gaHdf aW5mb1tpXS5hMCkgJiYNCiAJICAgIChyZWFkYihiYXNlKzIpID09IGh3X2luZm9baV0uYTEpICYm DQpAQCAtMzk3LDcgKzM5Niw3IEBADQogICAgIH0NCiAgICAgDQogICAgIGlvdW5tYXAodmlydCk7 DQotICAgIGogPSBDYXJkU2VydmljZXMoUmVsZWFzZVdpbmRvdywgbGluay0+d2luKTsNCisgICAg aiA9IHBjbWNpYV9yZWxlYXNlX3dpbmRvdyhsaW5rLT53aW4pOw0KICAgICBpZiAoaiAhPSBDU19T VUNDRVNTKQ0KIAljc19lcnJvcihsaW5rLT5oYW5kbGUsIFJlbGVhc2VXaW5kb3csIGopOw0KICAg ICByZXR1cm4gKGkgPCBOUl9JTkZPKSA/IGh3X2luZm8raSA6IE5VTEw7DQpAQCAtNTQ0LDExICs1 NDMsOCBAQA0KIA0KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KIA0KLSNkZWZpbmUgQ1NfQ0hFQ0soZm4sIGFy Z3MuLi4pIFwNCi13aGlsZSAoKGxhc3RfcmV0PUNhcmRTZXJ2aWNlcyhsYXN0X2ZuPShmbiksIGFy Z3MpKSE9MCkgZ290byBjc19mYWlsZWQNCi0NCi0jZGVmaW5lIENGR19DSEVDSyhmbiwgYXJncy4u LikgXA0KLWlmIChDYXJkU2VydmljZXMoZm4sIGFyZ3MpICE9IDApIGdvdG8gbmV4dF9lbnRyeQ0K KyNkZWZpbmUgQ1NfQ0hFQ0soZm4sIHJldCkgXA0KK2RvIHsgbGFzdF9mbiA9IChmbik7IGlmICgo bGFzdF9yZXQgPSAocmV0KSkgIT0gMCkgZ290byBjc19mYWlsZWQ7IH0gd2hpbGUgKDApDQogDQog c3RhdGljIGludCB0cnlfaW9fcG9ydChkZXZfbGlua190ICpsaW5rKQ0KIHsNCkBAIC01NzEsMTIg KzU2NywxMiBAQA0KIAlmb3IgKGogPSAwOyBqIDwgMHg0MDA7IGogKz0gMHgyMCkgew0KIAkgICAg bGluay0+aW8uQmFzZVBvcnQxID0gaiBeIDB4MzAwOw0KIAkgICAgbGluay0+aW8uQmFzZVBvcnQy ID0gKGogXiAweDMwMCkgKyAweDEwOw0KLQkgICAgcmV0ID0gQ2FyZFNlcnZpY2VzKFJlcXVlc3RJ TywgbGluay0+aGFuZGxlLCAmbGluay0+aW8pOw0KKwkgICAgcmV0ID0gcGNtY2lhX3JlcXVlc3Rf aW8obGluay0+aGFuZGxlLCAmbGluay0+aW8pOw0KIAkgICAgaWYgKHJldCA9PSBDU19TVUNDRVNT KSByZXR1cm4gcmV0Ow0KIAl9DQogCXJldHVybiByZXQ7DQogICAgIH0gZWxzZSB7DQotCXJldHVy biBDYXJkU2VydmljZXMoUmVxdWVzdElPLCBsaW5rLT5oYW5kbGUsICZsaW5rLT5pbyk7DQorCXJl dHVybiBwY21jaWFfcmVxdWVzdF9pbyhsaW5rLT5oYW5kbGUsICZsaW5rLT5pbyk7DQogICAgIH0N CiB9DQogDQpAQCAtNjAwLDkgKzU5Niw5IEBADQogICAgIHR1cGxlLlR1cGxlRGF0YU1heCA9IHNp emVvZihidWYpOw0KICAgICB0dXBsZS5UdXBsZU9mZnNldCA9IDA7DQogICAgIHR1cGxlLkRlc2ly ZWRUdXBsZSA9IENJU1RQTF9DT05GSUc7DQotICAgIENTX0NIRUNLKEdldEZpcnN0VHVwbGUsIGhh bmRsZSwgJnR1cGxlKTsNCi0gICAgQ1NfQ0hFQ0soR2V0VHVwbGVEYXRhLCBoYW5kbGUsICZ0dXBs ZSk7DQotICAgIENTX0NIRUNLKFBhcnNlVHVwbGUsIGhhbmRsZSwgJnR1cGxlLCAmcGFyc2UpOw0K KyAgICBDU19DSEVDSyhHZXRGaXJzdFR1cGxlLCBwY21jaWFfZ2V0X2ZpcnN0X3R1cGxlKGhhbmRs ZSwgJnR1cGxlKSk7DQorICAgIENTX0NIRUNLKEdldFR1cGxlRGF0YSwgcGNtY2lhX2dldF90dXBs ZV9kYXRhKGhhbmRsZSwgJnR1cGxlKSk7DQorICAgIENTX0NIRUNLKFBhcnNlVHVwbGUsIHBjbWNp YV9wYXJzZV90dXBsZShoYW5kbGUsICZ0dXBsZSwgJnBhcnNlKSk7DQogICAgIGxpbmstPmNvbmYu Q29uZmlnQmFzZSA9IHBhcnNlLmNvbmZpZy5iYXNlOw0KICAgICBsaW5rLT5jb25mLlByZXNlbnQg PSBwYXJzZS5jb25maWcucm1hc2tbMF07DQogDQpAQCAtNjEwLDI4ICs2MDYsMjggQEANCiAgICAg bGluay0+c3RhdGUgfD0gREVWX0NPTkZJRzsNCiANCiAgICAgLyogTG9vayB1cCBjdXJyZW50IFZj YyAqLw0KLSAgICBDU19DSEVDSyhHZXRDb25maWd1cmF0aW9uSW5mbywgaGFuZGxlLCAmY29uZik7 DQorICAgIENTX0NIRUNLKEdldENvbmZpZ3VyYXRpb25JbmZvLCBwY21jaWFfZ2V0X2NvbmZpZ3Vy YXRpb25faW5mbyhoYW5kbGUsICZjb25mKSk7DQogICAgIGxpbmstPmNvbmYuVmNjID0gY29uZi5W Y2M7DQogDQogICAgIHR1cGxlLkRlc2lyZWRUdXBsZSA9IENJU1RQTF9NQU5GSUQ7DQogICAgIHR1 cGxlLkF0dHJpYnV0ZXMgPSBUVVBMRV9SRVRVUk5fQ09NTU9OOw0KLSAgICBpZiAoKENhcmRTZXJ2 aWNlcyhHZXRGaXJzdFR1cGxlLCBoYW5kbGUsICZ0dXBsZSkgPT0gQ1NfU1VDQ0VTUykgJiYNCi0g CShDYXJkU2VydmljZXMoR2V0VHVwbGVEYXRhLCBoYW5kbGUsICZ0dXBsZSkgPT0gQ1NfU1VDQ0VT UykpIHsNCisgICAgaWYgKChwY21jaWFfZ2V0X2ZpcnN0X3R1cGxlKGhhbmRsZSwgJnR1cGxlKSA9 PSBDU19TVUNDRVNTKSAmJg0KKyAJKHBjbWNpYV9nZXRfdHVwbGVfZGF0YShoYW5kbGUsICZ0dXBs ZSkgPT0gQ1NfU1VDQ0VTUykpIHsNCiAJbWFuZmlkID0gbGUxNl90b19jcHUoYnVmWzBdKTsNCiAJ cHJvZGlkID0gbGUxNl90b19jcHUoYnVmWzFdKTsNCiAgICAgfQ0KICAgICANCiAgICAgdHVwbGUu RGVzaXJlZFR1cGxlID0gQ0lTVFBMX0NGVEFCTEVfRU5UUlk7DQogICAgIHR1cGxlLkF0dHJpYnV0 ZXMgPSAwOw0KLSAgICBDU19DSEVDSyhHZXRGaXJzdFR1cGxlLCBoYW5kbGUsICZ0dXBsZSk7DQor ICAgIENTX0NIRUNLKEdldEZpcnN0VHVwbGUsIHBjbWNpYV9nZXRfZmlyc3RfdHVwbGUoaGFuZGxl LCAmdHVwbGUpKTsNCiAgICAgd2hpbGUgKGxhc3RfcmV0ID09IENTX1NVQ0NFU1MpIHsNCiAJY2lz dHBsX2NmdGFibGVfZW50cnlfdCAqY2ZnID0gJihwYXJzZS5jZnRhYmxlX2VudHJ5KTsNCiAJY2lz dHBsX2lvX3QgKmlvID0gJihwYXJzZS5jZnRhYmxlX2VudHJ5LmlvKTsNCiAJDQotCUNGR19DSEVD SyhHZXRUdXBsZURhdGEsIGhhbmRsZSwgJnR1cGxlKTsNCi0JQ0ZHX0NIRUNLKFBhcnNlVHVwbGUs IGhhbmRsZSwgJnR1cGxlLCAmcGFyc2UpOw0KLQlpZiAoKGNmZy0+aW5kZXggPT0gMCkgfHwgKGNm Zy0+aW8ubndpbiA9PSAwKSkNCi0JICAgIGdvdG8gbmV4dF9lbnRyeTsNCisJaWYgKHBjbWNpYV9n ZXRfdHVwbGVfZGF0YShoYW5kbGUsICZ0dXBsZSkgIT0gMCB8fA0KKwkJCXBjbWNpYV9wYXJzZV90 dXBsZShoYW5kbGUsICZ0dXBsZSwgJnBhcnNlKSAhPSAwIHx8DQorCQkJY2ZnLT5pbmRleCA9PSAw IHx8IGNmZy0+aW8ubndpbiA9PSAwKQ0KKwkJZ290byBuZXh0X2VudHJ5Ow0KIAkNCiAJbGluay0+ Y29uZi5Db25maWdJbmRleCA9IGNmZy0+aW5kZXg7DQogCS8qIEZvciBtdWx0aWZ1bmN0aW9uIGNh cmRzLCBieSBjb252ZW50aW9uLCB3ZSBjb25maWd1cmUgdGhlDQpAQCAtNjUzLDE0ICs2NDksMTQg QEANCiAJICAgIGlmIChsYXN0X3JldCA9PSBDU19TVUNDRVNTKSBicmVhazsNCiAJfQ0KICAgICBu ZXh0X2VudHJ5Og0KLQlsYXN0X3JldCA9IENhcmRTZXJ2aWNlcyhHZXROZXh0VHVwbGUsIGhhbmRs ZSwgJnR1cGxlKTsNCisJbGFzdF9yZXQgPSBwY21jaWFfZ2V0X25leHRfdHVwbGUoaGFuZGxlLCAm dHVwbGUpOw0KICAgICB9DQogICAgIGlmIChsYXN0X3JldCAhPSBDU19TVUNDRVNTKSB7DQogCWNz X2Vycm9yKGhhbmRsZSwgUmVxdWVzdElPLCBsYXN0X3JldCk7DQogCWdvdG8gZmFpbGVkOw0KICAg ICB9DQogDQotICAgIENTX0NIRUNLKFJlcXVlc3RJUlEsIGhhbmRsZSwgJmxpbmstPmlycSk7DQor ICAgIENTX0NIRUNLKFJlcXVlc3RJUlEsIHBjbWNpYV9yZXF1ZXN0X2lycShoYW5kbGUsICZsaW5r LT5pcnEpKTsNCiAgICAgDQogICAgIGlmIChsaW5rLT5pby5OdW1Qb3J0czIgPT0gOCkgew0KIAls aW5rLT5jb25mLkF0dHJpYnV0ZXMgfD0gQ09ORl9FTkFCTEVfU1BLUjsNCkBAIC02NzAsNyArNjY2 LDcgQEANCiAJKHByb2RpZCA9PSBQUk9ESURfSUJNX0hPTUVfQU5EX0FXQVkpKQ0KIAlsaW5rLT5j b25mLkNvbmZpZ0luZGV4IHw9IDB4MTA7DQogICAgIA0KLSAgICBDU19DSEVDSyhSZXF1ZXN0Q29u ZmlndXJhdGlvbiwgaGFuZGxlLCAmbGluay0+Y29uZik7DQorICAgIENTX0NIRUNLKFJlcXVlc3RD b25maWd1cmF0aW9uLCBwY21jaWFfcmVxdWVzdF9jb25maWd1cmF0aW9uKGhhbmRsZSwgJmxpbmst PmNvbmYpKTsNCiAgICAgZGV2LT5pcnEgPSBsaW5rLT5pcnEuQXNzaWduZWRJUlE7DQogICAgIGRl di0+YmFzZV9hZGRyID0gbGluay0+aW8uQmFzZVBvcnQxOw0KICAgICBpZiAoaW5mby0+ZmxhZ3Mg JiBIQVNfTUlTQ19SRUcpIHsNCkBAIC03OTksMTEgKzc5NSwxMSBAQA0KIA0KICAgICBpZiAoaW5m by0+ZmxhZ3MgJiBVU0VfU0hNRU0pIHsNCiAJaW91bm1hcChpbmZvLT5iYXNlKTsNCi0JQ2FyZFNl cnZpY2VzKFJlbGVhc2VXaW5kb3csIGxpbmstPndpbik7DQorCXBjbWNpYV9yZWxlYXNlX3dpbmRv dyhsaW5rLT53aW4pOw0KICAgICB9DQotICAgIENhcmRTZXJ2aWNlcyhSZWxlYXNlQ29uZmlndXJh dGlvbiwgbGluay0+aGFuZGxlKTsNCi0gICAgQ2FyZFNlcnZpY2VzKFJlbGVhc2VJTywgbGluay0+ aGFuZGxlLCAmbGluay0+aW8pOw0KLSAgICBDYXJkU2VydmljZXMoUmVsZWFzZUlSUSwgbGluay0+ aGFuZGxlLCAmbGluay0+aXJxKTsNCisgICAgcGNtY2lhX3JlbGVhc2VfY29uZmlndXJhdGlvbihs aW5rLT5oYW5kbGUpOw0KKyAgICBwY21jaWFfcmVsZWFzZV9pbyhsaW5rLT5oYW5kbGUsICZsaW5r LT5pbyk7DQorICAgIHBjbWNpYV9yZWxlYXNlX2lycShsaW5rLT5oYW5kbGUsICZsaW5rLT5pcnEp Ow0KIA0KICAgICBsaW5rLT5zdGF0ZSAmPSB+REVWX0NPTkZJRzsNCiANCkBAIC04NDcsNyArODQz LDcgQEANCiAJaWYgKGxpbmstPnN0YXRlICYgREVWX0NPTkZJRykgew0KIAkgICAgaWYgKGxpbmst Pm9wZW4pDQogCQluZXRpZl9kZXZpY2VfZGV0YWNoKCZpbmZvLT5kZXYpOw0KLQkgICAgQ2FyZFNl cnZpY2VzKFJlbGVhc2VDb25maWd1cmF0aW9uLCBsaW5rLT5oYW5kbGUpOw0KKwkgICAgcGNtY2lh X3JlbGVhc2VfY29uZmlndXJhdGlvbihsaW5rLT5oYW5kbGUpOw0KIAl9DQogCWJyZWFrOw0KICAg ICBjYXNlIENTX0VWRU5UX1BNX1JFU1VNRToNCkBAIC04NTUsNyArODUxLDcgQEANCiAJLyogRmFs bCB0aHJvdWdoLi4uICovDQogICAgIGNhc2UgQ1NfRVZFTlRfQ0FSRF9SRVNFVDoNCiAJaWYgKGxp bmstPnN0YXRlICYgREVWX0NPTkZJRykgew0KLQkgICAgQ2FyZFNlcnZpY2VzKFJlcXVlc3RDb25m aWd1cmF0aW9uLCBsaW5rLT5oYW5kbGUsICZsaW5rLT5jb25mKTsNCisJICAgIHBjbWNpYV9yZXF1 ZXN0X2NvbmZpZ3VyYXRpb24obGluay0+aGFuZGxlLCAmbGluay0+Y29uZik7DQogCSAgICBpZiAo bGluay0+b3Blbikgew0KIAkJcGNuZXRfcmVzZXRfODM5MCgmaW5mby0+ZGV2KTsNCiAJCU5TODM5 MF9pbml0KCZpbmZvLT5kZXYsIDEpOw0KQEAgLTE1MjMsMTQgKzE1MTksMTMgQEANCiAgICAgcmVx LkF0dHJpYnV0ZXMgfD0gV0lOX1VTRV9XQUlUOw0KICAgICByZXEuQmFzZSA9IDA7IHJlcS5TaXpl ID0gd2luZG93X3NpemU7DQogICAgIHJlcS5BY2Nlc3NTcGVlZCA9IG1lbV9zcGVlZDsNCi0gICAg bGluay0+d2luID0gKHdpbmRvd19oYW5kbGVfdClsaW5rLT5oYW5kbGU7DQotICAgIENTX0NIRUNL KFJlcXVlc3RXaW5kb3csICZsaW5rLT53aW4sICZyZXEpOw0KKyAgICBDU19DSEVDSyhSZXF1ZXN0 V2luZG93LCBwY21jaWFfcmVxdWVzdF93aW5kb3coJmxpbmstPmhhbmRsZSwgJnJlcSwgJmxpbmst PndpbikpOw0KIA0KICAgICBtZW0uQ2FyZE9mZnNldCA9IChzdGFydF9wZyA8PCA4KSArIGNtX29m ZnNldDsNCiAgICAgb2Zmc2V0ID0gbWVtLkNhcmRPZmZzZXQgJSB3aW5kb3dfc2l6ZTsNCiAgICAg bWVtLkNhcmRPZmZzZXQgLT0gb2Zmc2V0Ow0KICAgICBtZW0uUGFnZSA9IDA7DQotICAgIENTX0NI RUNLKE1hcE1lbVBhZ2UsIGxpbmstPndpbiwgJm1lbSk7DQorICAgIENTX0NIRUNLKE1hcE1lbVBh Z2UsIHBjbWNpYV9tYXBfbWVtX3BhZ2UobGluay0+d2luLCAmbWVtKSk7DQogDQogICAgIC8qIFRy eSBzY3JpYmJsaW5nIG9uIHRoZSBidWZmZXIgKi8NCiAgICAgaW5mby0+YmFzZSA9IGlvcmVtYXAo cmVxLkJhc2UsIHdpbmRvd19zaXplKTsNCkBAIC0xNTQyLDcgKzE1MzcsNyBAQA0KICAgICBwY25l dF9yZXNldF84MzkwKGRldik7DQogICAgIGlmIChpICE9IChUWF9QQUdFUzw8OCkpIHsNCiAJaW91 bm1hcChpbmZvLT5iYXNlKTsNCi0JQ2FyZFNlcnZpY2VzKFJlbGVhc2VXaW5kb3csIGxpbmstPndp bik7DQorCXBjbWNpYV9yZWxlYXNlX3dpbmRvdyhsaW5rLT53aW4pOw0KIAlpbmZvLT5iYXNlID0g TlVMTDsgbGluay0+d2luID0gTlVMTDsNCiAJZ290byBmYWlsZWQ7DQogICAgIH0NCg0KDQoNCm== --=-BtmeKi4aYJPs4q/T4P5P-- --=-/HBRCx3IncEZ5I+jEl2h Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQA/5ohE78o9R9NraMQRAns8AJ9lmDq2M1r9Ikh1f6earAsyIJLKhgCfTXmY RgEtidlQNkWCoZKftemrrCI= =oCwG -----END PGP SIGNATURE----- --=-/HBRCx3IncEZ5I+jEl2h--