From owner-freebsd-current@FreeBSD.ORG Tue Apr 27 23:26:29 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B7AF316A4CE for ; Tue, 27 Apr 2004 23:26:29 -0700 (PDT) Received: from sev.net.ua (sev.net.ua [212.86.233.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 733FC43D5F for ; Tue, 27 Apr 2004 23:26:27 -0700 (PDT) (envelope-from shadow@psoft.net) Received: from berloga.shadowland ([213.227.237.65]) by sev.net.ua (8.12.10/8.12.9) with ESMTP id i3S6QNv0089173 for ; Wed, 28 Apr 2004 09:26:23 +0300 (EEST) (envelope-from shadow@psoft.net) Received: from berloga.shadowland (berloga.shadowland [127.0.0.1]) by berloga.shadowland (8.12.10/8.12.10) with ESMTP id i3S6QNGF008644 for ; Wed, 28 Apr 2004 09:26:23 +0300 Received: (from root@localhost) by berloga.shadowland (8.12.10/8.12.10/Submit) id i3S6QMXx008642 for freebsd-current@freebsd.org; Wed, 28 Apr 2004 09:26:22 +0300 From: Alex Lyashkov To: "freebsd-current@freebsd.org" Content-Type: multipart/mixed; boundary="=-fMDoDTdozg4tOTiuGD2S" Organization: PSoft Message-Id: <1083133582.8250.38.camel@berloga.shadowland> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.5 (1.4.5-1) Date: Wed, 28 Apr 2004 09:26:22 +0300 Subject: code cleanup X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Apr 2004 06:26:29 -0000 --=-fMDoDTdozg4tOTiuGD2S Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi All how i see many points at kernel work with allproc list direct, but proc.h introduce macros FOREACH_PROC_IN_SYSTEM. This patch clean this places. -- Alex Lyashkov PSoft --=-fMDoDTdozg4tOTiuGD2S Content-Disposition: attachment; filename=FOREACH_PROC.diff Content-Type: text/x-patch; name=FOREACH_PROC.diff; charset=KOI8-R Content-Transfer-Encoding: base64 ZGlmZiAtdXJOIHN5cy5vcmlnL2FscGhhL2FscGhhL2RiX3RyYWNlLmMgc3lzL2FscGhhL2FscGhh L2RiX3RyYWNlLmMNCi0tLSBzeXMub3JpZy9hbHBoYS9hbHBoYS9kYl90cmFjZS5jCU1vbiBKYW4g IDUgMDE6MzA6NDcgMjAwNA0KKysrIHN5cy9hbHBoYS9hbHBoYS9kYl90cmFjZS5jCVdlZCBBcHIg MjggMDk6NTQ6MDQgMjAwNA0KQEAgLTI1MCw3ICsyNTAsNyBAQA0KIAkJCWhhdmVfdHJhcGZyYW1l ID0gMTsNCiAJCX0gZWxzZSB7DQogCQkJLyogc3hfc2xvY2soJmFsbHByb2NfbG9jayk7ICovDQot CQkJTElTVF9GT1JFQUNIKHAsICZhbGxwcm9jLCBwX2xpc3QpIHsNCisJCQlGT1JFQUNIX1BST0Nf SU5fU1lTVEVNKHApIHsNCiAJCQkJaWYgKHAtPnBfcGlkID09IHBpZCkNCiAJCQkJCWJyZWFrOw0K IAkJCX0NCmRpZmYgLXVyTiBzeXMub3JpZy9hbHBoYS9hbHBoYS9wbWFwLmMgc3lzL2FscGhhL2Fs cGhhL3BtYXAuYw0KLS0tIHN5cy5vcmlnL2FscGhhL2FscGhhL3BtYXAuYwlNb24gQXByIDI2IDIw OjQ5OjA1IDIwMDQNCisrKyBzeXMvYWxwaGEvYWxwaGEvcG1hcC5jCVdlZCBBcHIgMjggMDk6NTQ6 MjEgMjAwNA0KQEAgLTI3NjEsNyArMjc2MSw3IEBADQogCWludCBpbmRleDsNCiANCiAJc3hfc2xv Y2soJmFsbHByb2NfbG9jayk7DQotCUxJU1RfRk9SRUFDSChwLCAmYWxscHJvYywgcF9saXN0KSB7 DQorCUZPUkVBQ0hfUFJPQ19JTl9TWVNURU0ocCkgew0KIAkJaWYgKHAtPnBfcGlkICE9IHBpZCkN CiAJCQljb250aW51ZTsNCiANCmRpZmYgLXVyTiBzeXMub3JpZy9hbWQ2NC9hbWQ2NC9kYl90cmFj ZS5jIHN5cy9hbWQ2NC9hbWQ2NC9kYl90cmFjZS5jDQotLS0gc3lzLm9yaWcvYW1kNjQvYW1kNjQv ZGJfdHJhY2UuYwlUaHUgSmFuIDI5IDAxOjU3OjQwIDIwMDQNCisrKyBzeXMvYW1kNjQvYW1kNjQv ZGJfdHJhY2UuYwlXZWQgQXByIDI4IDA5OjUzOjM5IDIwMDQNCkBAIC0zMzQsNyArMzM0LDcgQEAN CiAJCX0gZWxzZSB7DQogDQogCQkJLyogc3hfc2xvY2soJmFsbHByb2NfbG9jayk7ICovDQotCQkJ TElTVF9GT1JFQUNIKHAsICZhbGxwcm9jLCBwX2xpc3QpIHsNCisJCQlGT1JFQUNIX1BST0NfSU5f U1lTVEVNKHApIHsNCiAJCQkJaWYgKHAtPnBfcGlkID09IHBpZCkNCiAJCQkJCWJyZWFrOw0KIAkJ CX0NCmRpZmYgLXVyTiBzeXMub3JpZy9kZGIvZGJfY29tbWFuZC5jIHN5cy9kZGIvZGJfY29tbWFu ZC5jDQotLS0gc3lzLm9yaWcvZGRiL2RiX2NvbW1hbmQuYwlTdW4gRmViIDI5IDExOjU1OjMyIDIw MDQNCisrKyBzeXMvZGRiL2RiX2NvbW1hbmQuYwlXZWQgQXByIDI4IDA5OjUzOjEwIDIwMDQNCkBA IC02MTIsNyArNjEyLDcgQEANCiAJICogc2luY2Ugd2UncmUgaW4gRERCLg0KIAkgKi8NCiAJLyog c3hfc2xvY2soJmFsbHByb2NfbG9jayk7ICovDQotCUxJU1RfRk9SRUFDSChwLCAmYWxscHJvYywg cF9saXN0KQ0KKwlGT1JFQUNIX1BST0NfSU5fU1lTVEVNKHApDQogCSAgICBpZiAocC0+cF9waWQg PT0gcGlkKQ0KIAkJICAgIGJyZWFrOw0KIAkvKiBzeF9zdW5sb2NrKCZhbGxwcm9jX2xvY2spOyAq Lw0KZGlmZiAtdXJOIHN5cy5vcmlnL2kzODYvaTM4Ni9kYl90cmFjZS5jIHN5cy9pMzg2L2kzODYv ZGJfdHJhY2UuYw0KLS0tIHN5cy5vcmlnL2kzODYvaTM4Ni9kYl90cmFjZS5jCVR1ZSBOb3YgIDQg MDA6MDc6MjEgMjAwMw0KKysrIHN5cy9pMzg2L2kzODYvZGJfdHJhY2UuYwlXZWQgQXByIDI4IDA5 OjUyOjEwIDIwMDQNCkBAIC0zMjMsNyArMzIzLDcgQEANCiAJCX0gZWxzZSB7DQogDQogCQkJLyog c3hfc2xvY2soJmFsbHByb2NfbG9jayk7ICovDQotCQkJTElTVF9GT1JFQUNIKHAsICZhbGxwcm9j LCBwX2xpc3QpIHsNCisJCQlGT1JFQUNIX1BST0NfSU5fU1lTVEVNKHApIHsNCiAJCQkJaWYgKHAt PnBfcGlkID09IHBpZCkNCiAJCQkJCWJyZWFrOw0KIAkJCX0NCmRpZmYgLXVyTiBzeXMub3JpZy9p Mzg2L2kzODYvcG1hcC5jIHN5cy9pMzg2L2kzODYvcG1hcC5jDQotLS0gc3lzLm9yaWcvaTM4Ni9p Mzg2L3BtYXAuYwlTdW4gQXByIDExIDAyOjI4OjQ5IDIwMDQNCisrKyBzeXMvaTM4Ni9pMzg2L3Bt YXAuYwlXZWQgQXByIDI4IDA5OjUyOjI4IDIwMDQNCkBAIC0zMDAwLDcgKzMwMDAsNyBAQA0KIAlp bnQgaW5kZXg7DQogDQogCXN4X3Nsb2NrKCZhbGxwcm9jX2xvY2spOw0KLQlMSVNUX0ZPUkVBQ0go cCwgJmFsbHByb2MsIHBfbGlzdCkgew0KKwlGT1JFQUNIX1BST0NfSU5fU1lTVEVNKHApIHsNCiAJ CWlmIChwLT5wX3BpZCAhPSBwaWQpDQogCQkJY29udGludWU7DQogDQpkaWZmIC11ck4gc3lzLm9y aWcvaTM4Ni9pYmNzMi9pYmNzMl9zeXN2ZWMuYyBzeXMvaTM4Ni9pYmNzMi9pYmNzMl9zeXN2ZWMu Yw0KLS0tIHN5cy5vcmlnL2kzODYvaWJjczIvaWJjczJfc3lzdmVjLmMJVGh1IFNlcCAyNSAwNDox MDoyNCAyMDAzDQorKysgc3lzL2kzODYvaWJjczIvaWJjczJfc3lzdmVjLmMJV2VkIEFwciAyOCAw OTo1MTo0OSAyMDA0DQpAQCAtMTA4LDcgKzEwOCw3IEBADQogCWNhc2UgTU9EX1VOTE9BRDoNCiAJ CS8qIGlmIHRoaXMgd2FzIGFuIEVMRiBtb2R1bGUgd2UnZCB1c2UgZWxmX2JyYW5kX2ludXNlKCku Li4gKi8NCiAJCXN4X3Nsb2NrKCZhbGxwcm9jX2xvY2spOw0KLQkJTElTVF9GT1JFQUNIKHAsICZh bGxwcm9jLCBwX2xpc3QpIHsNCisJCUZPUkVBQ0hfUFJPQ19JTl9TWVNURU0ocCkgew0KIAkJCWlm IChwLT5wX3N5c2VudCA9PSAmaWJjczJfc3ZyM19zeXN2ZWMpIHsNCiAJCQkJcnZhbCA9IEVCVVNZ Ow0KIAkJCQlicmVhazsNCmRpZmYgLXVyTiBzeXMub3JpZy9rZXJuL2ltZ2FjdF9lbGYuYyBzeXMv a2Vybi9pbWdhY3RfZWxmLmMNCi0tLSBzeXMub3JpZy9rZXJuL2ltZ2FjdF9lbGYuYwlGcmkgQXBy IDIzIDA2OjAxOjM5IDIwMDQNCisrKyBzeXMva2Vybi9pbWdhY3RfZWxmLmMJV2VkIEFwciAyOCAw OTo0Nzo0MSAyMDA0DQpAQCAtMTM3LDcgKzEzNyw3IEBADQogCWludCBydmFsID0gRkFMU0U7DQog DQogCXN4X3Nsb2NrKCZhbGxwcm9jX2xvY2spOw0KLQlMSVNUX0ZPUkVBQ0gocCwgJmFsbHByb2Ms IHBfbGlzdCkgew0KKwlGT1JFQUNIX1BST0NfSU5fU1lTVEVNKHApIHsNCiAJCWlmIChwLT5wX3N5 c2VudCA9PSBlbnRyeS0+c3lzdmVjKSB7DQogCQkJcnZhbCA9IFRSVUU7DQogCQkJYnJlYWs7DQpk aWZmIC11ck4gc3lzLm9yaWcva2Vybi9pbml0X21haW4uYyBzeXMva2Vybi9pbml0X21haW4uYw0K LS0tIHN5cy5vcmlnL2tlcm4vaW5pdF9tYWluLmMJU3VuIEZlYiAyOSAxODo1Njo1NCAyMDA0DQor Kysgc3lzL2tlcm4vaW5pdF9tYWluLmMJV2VkIEFwciAyOCAwOTo0ODowNCAyMDA0DQpAQCAtNDc5 LDcgKzQ3OSw3IEBADQogCSAqIHRpbWUgZnJvbSB0aGUgZmlsZXN5c3RlbS4gIFByZXRlbmQgdGhh dCBwcm9jMCBzdGFydGVkIG5vdy4NCiAJICovDQogCXN4X3Nsb2NrKCZhbGxwcm9jX2xvY2spOw0K LQlMSVNUX0ZPUkVBQ0gocCwgJmFsbHByb2MsIHBfbGlzdCkgew0KKwlGT1JFQUNIX1BST0NfSU5f U1lTVEVNKHApIHsNCiAJCW1pY3JvdXB0aW1lKCZwLT5wX3N0YXRzLT5wX3N0YXJ0KTsNCiAJCXAt PnBfcnVudGltZS5zZWMgPSAwOw0KIAkJcC0+cF9ydW50aW1lLmZyYWMgPSAwOw0KZGlmZiAtdXJO IHN5cy5vcmlnL2tlcm4va2Vybl9kZXNjcmlwLmMgc3lzL2tlcm4va2Vybl9kZXNjcmlwLmMNCi0t LSBzeXMub3JpZy9rZXJuL2tlcm5fZGVzY3JpcC5jCVR1ZSBBcHIgIDYgMDA6MDM6MzQgMjAwNA0K KysrIHN5cy9rZXJuL2tlcm5fZGVzY3JpcC5jCVdlZCBBcHIgMjggMDk6NDg6MjIgMjAwNA0KQEAg LTIzNDYsNyArMjM0Niw3IEBADQogCWJ6ZXJvKCZ4Ziwgc2l6ZW9mKHhmKSk7DQogCXhmLnhmX3Np emUgPSBzaXplb2YoeGYpOw0KIAlzeF9zbG9jaygmYWxscHJvY19sb2NrKTsNCi0JTElTVF9GT1JF QUNIKHAsICZhbGxwcm9jLCBwX2xpc3QpIHsNCisJRk9SRUFDSF9QUk9DX0lOX1NZU1RFTShwKSB7 DQogCQlQUk9DX0xPQ0socCk7DQogCQlpZiAocF9jYW5zZWUocmVxLT50ZCwgcCkgIT0gMCkgew0K IAkJCVBST0NfVU5MT0NLKHApOw0KZGlmZiAtdXJOIHN5cy5vcmlnL2tlcm4va2Vybl9rdHJhY2Uu YyBzeXMva2Vybi9rZXJuX2t0cmFjZS5jDQotLS0gc3lzLm9yaWcva2Vybi9rZXJuX2t0cmFjZS5j CVR1ZSBBcHIgIDYgMDA6MDM6MzQgMjAwNA0KKysrIHN5cy9rZXJuL2tlcm5fa3RyYWNlLmMJV2Vk IEFwciAyOCAwOTo0OToxOSAyMDA0DQpAQCAtNTQzLDcgKzU0Myw3IEBADQogCSAqLw0KIAlpZiAo b3BzID09IEtUUk9QX0NMRUFSRklMRSkgew0KIAkJc3hfc2xvY2soJmFsbHByb2NfbG9jayk7DQot CQlMSVNUX0ZPUkVBQ0gocCwgJmFsbHByb2MsIHBfbGlzdCkgew0KKwkJRk9SRUFDSF9QUk9DX0lO X1NZU1RFTShwKSB7DQogCQkJUFJPQ19MT0NLKHApOw0KIAkJCWlmIChwLT5wX3RyYWNldnAgPT0g dnApIHsNCiAJCQkJaWYgKGt0cmNhbnNldCh0ZCwgcCkpIHsNCkBAIC04NDEsNyArODQxLDcgQEAN CiAJICovDQogCWNyZWQgPSBOVUxMOw0KIAlzeF9zbG9jaygmYWxscHJvY19sb2NrKTsNCi0JTElT VF9GT1JFQUNIKHAsICZhbGxwcm9jLCBwX2xpc3QpIHsNCisJRk9SRUFDSF9QUk9DX0lOX1NZU1RF TShwKSB7DQogCQlQUk9DX0xPQ0socCk7DQogCQlpZiAocC0+cF90cmFjZXZwID09IHZwKSB7DQog CQkJbXR4X2xvY2soJmt0cmFjZV9tdHgpOw0KZGlmZiAtdXJOIHN5cy5vcmlnL2tlcm4va2Vybl9y ZXNvdXJjZS5jIHN5cy9rZXJuL2tlcm5fcmVzb3VyY2UuYw0KLS0tIHN5cy5vcmlnL2tlcm4va2Vy bl9yZXNvdXJjZS5jCVNhdCBBcHIgMTAgMTQ6MDg6MTYgMjAwNA0KKysrIHN5cy9rZXJuL2tlcm5f cmVzb3VyY2UuYwlXZWQgQXByIDI4IDA5OjQ5OjU2IDIwMDQNCkBAIC0xNDYsNyArMTQ2LDcgQEAN CiAJCWlmICh1YXAtPndobyA9PSAwKQ0KIAkJCXVhcC0+d2hvID0gdGQtPnRkX3VjcmVkLT5jcl91 aWQ7DQogCQlzeF9zbG9jaygmYWxscHJvY19sb2NrKTsNCi0JCUxJU1RfRk9SRUFDSChwLCAmYWxs cHJvYywgcF9saXN0KSB7DQorCQlGT1JFQUNIX1BST0NfSU5fU1lTVEVNKHApIHsNCiAJCQlQUk9D X0xPQ0socCk7DQogCQkJaWYgKCFwX2NhbnNlZSh0ZCwgcCkgJiYNCiAJCQkgICAgcC0+cF91Y3Jl ZC0+Y3JfdWlkID09IHVhcC0+d2hvKSB7DQpkaWZmIC11ck4gc3lzLm9yaWcva2Vybi9rZXJuX3Np Zy5jIHN5cy9rZXJuL2tlcm5fc2lnLmMNCi0tLSBzeXMub3JpZy9rZXJuL2tlcm5fc2lnLmMJTW9u IEFwciAxMiAxODo1NjowNSAyMDA0DQorKysgc3lzL2tlcm4va2Vybl9zaWcuYwlXZWQgQXByIDI4 IDA5OjUwOjE5IDIwMDQNCkBAIC0xMzE0LDcgKzEzMTQsNyBAQA0KIAkJICogYnJvYWRjYXN0DQog CQkgKi8NCiAJCXN4X3Nsb2NrKCZhbGxwcm9jX2xvY2spOw0KLQkJTElTVF9GT1JFQUNIKHAsICZh bGxwcm9jLCBwX2xpc3QpIHsNCisJCUZPUkVBQ0hfUFJPQ19JTl9TWVNURU0ocCkgew0KIAkJCVBS T0NfTE9DSyhwKTsNCiAJCQlpZiAocC0+cF9waWQgPD0gMSB8fCBwLT5wX2ZsYWcgJiBQX1NZU1RF TSB8fA0KIAkJCSAgICBwID09IHRkLT50ZF9wcm9jKSB7DQpkaWZmIC11ck4gc3lzLm9yaWcva2Vy bi92ZnNfbW91bnQuYyBzeXMva2Vybi92ZnNfbW91bnQuYw0KLS0tIHN5cy5vcmlnL2tlcm4vdmZz X21vdW50LmMJVHVlIEFwciAgNiAwMDowMzozNiAyMDA0DQorKysgc3lzL2tlcm4vdmZzX21vdW50 LmMJV2VkIEFwciAyOCAwOTo1MDo0OSAyMDA0DQpAQCAtOTY0LDcgKzk2NCw3IEBADQogCWlmICh2 cmVmY250KG9sZGRwKSA9PSAxKQ0KIAkJcmV0dXJuOw0KIAlzeF9zbG9jaygmYWxscHJvY19sb2Nr KTsNCi0JTElTVF9GT1JFQUNIKHAsICZhbGxwcm9jLCBwX2xpc3QpIHsNCisJRk9SRUFDSF9QUk9D X0lOX1NZU1RFTShwKSB7DQogCQltdHhfbG9jaygmZmRlc2NfbXR4KTsNCiAJCWZkcCA9IHAtPnBf ZmQ7DQogCQlpZiAoZmRwID09IE5VTEwpIHsNCmRpZmYgLXVyTiBzeXMub3JpZy9wb3dlcnBjL3Bv d2VycGMvZGJfaW50ZXJmYWNlLmMgc3lzL3Bvd2VycGMvcG93ZXJwYy9kYl9pbnRlcmZhY2UuYw0K LS0tIHN5cy5vcmlnL3Bvd2VycGMvcG93ZXJwYy9kYl9pbnRlcmZhY2UuYwlUdWUgRGVjICA5IDE3 OjQ2OjMzIDIwMDMNCisrKyBzeXMvcG93ZXJwYy9wb3dlcnBjL2RiX2ludGVyZmFjZS5jCVdlZCBB cHIgMjggMDk6NDc6MTcgMjAwNA0KQEAgLTE3Miw3ICsxNzIsNyBAQA0KIAlzdHJ1Y3QgcHJvYyAq cDsNCiANCiAJLyogWFhYIExPQ0tJTkcgWFhYICovDQotCWZvciAocCA9IGFsbHByb2MubGhfZmly c3Q7IHAgIT0gMDsgcCA9IHAtPnBfbGlzdC5sZV9uZXh0KSB7DQorCUZPUkVBQ0hfUFJPQ19JTl9T WVNURU0ocCkgew0KIAkJaWYgKHAtPnBfc3RhdCkgew0KIAkJCWRiX3ByaW50ZigicHJvY2VzcyAl cDoiLCBwKTsNCiAJCQlkYl9wcmludGYoInBpZDolZCBwbWFwOiVwIGN0eDolZCAlc1xuIiwNCmRp ZmYgLXVyTiBzeXMub3JpZy9zcGFyYzY0L3NwYXJjNjQvZGJfdHJhY2UuYyBzeXMvc3BhcmM2NC9z cGFyYzY0L2RiX3RyYWNlLmMNCi0tLSBzeXMub3JpZy9zcGFyYzY0L3NwYXJjNjQvZGJfdHJhY2Uu YwlGcmkgRGVjIDI2IDE2OjMwOjE4IDIwMDMNCisrKyBzeXMvc3BhcmM2NC9zcGFyYzY0L2RiX3Ry YWNlLmMJV2VkIEFwciAyOCAwOTo0NjoyNyAyMDA0DQpAQCAtMTI4LDcgKzEyOCw3IEBADQogCQkJ YWRkciA9IEREQl9SRUdTLT50Zl9vdXRbNl07DQogCQl9IGVsc2Ugew0KIAkJCS8qIHN4X3Nsb2Nr KCZhbGxwcm9jX2xvY2spOyAqLw0KLQkJCUxJU1RfRk9SRUFDSChwLCAmYWxscHJvYywgcF9saXN0 KSB7DQorCQkJRk9SRUFDSF9QUk9DX0lOX1NZU1RFTShwKSB7DQogCQkJCWlmIChwLT5wX3BpZCA9 PSBwaWQpDQogCQkJCQlicmVhazsNCiAJCQl9DQpkaWZmIC11ck4gc3lzLm9yaWcvdm0vdm1fb2Jq ZWN0LmMgc3lzL3ZtL3ZtX29iamVjdC5jDQotLS0gc3lzLm9yaWcvdm0vdm1fb2JqZWN0LmMJVHVl IEFwciAgNiAyMzoxNTozNiAyMDA0DQorKysgc3lzL3ZtL3ZtX29iamVjdC5jCVdlZCBBcHIgMjgg MDk6NDU6MjAgMjAwNA0KQEAgLTE5NjYsNyArMTk2Niw3IEBADQogCXN0cnVjdCBwcm9jICpwOw0K IA0KIAkvKiBzeF9zbG9jaygmYWxscHJvY19sb2NrKTsgKi8NCi0JTElTVF9GT1JFQUNIKHAsICZh bGxwcm9jLCBwX2xpc3QpIHsNCisJRk9SRUFDSF9QUk9DX0lOX1NZU1RFTShwKSB7DQogCQlpZiAo IXAtPnBfdm1zcGFjZSAvKiB8fCAocC0+cF9mbGFnICYgKFBfU1lTVEVNfFBfV0VYSVQpKSAqLykN CiAJCQljb250aW51ZTsNCiAJCWlmIChfdm1fb2JqZWN0X2luX21hcCgmcC0+cF92bXNwYWNlLT52 bV9tYXAsIG9iamVjdCwgMCkpIHsNCmRpZmYgLXVyTiBzeXMub3JpZy92bS92bV9wYWdlb3V0LmMg c3lzL3ZtL3ZtX3BhZ2VvdXQuYw0KLS0tIHN5cy5vcmlnL3ZtL3ZtX3BhZ2VvdXQuYwlUaHUgTWFy ICA0IDExOjM2OjQ2IDIwMDQNCisrKyBzeXMvdm0vdm1fcGFnZW91dC5jCVdlZCBBcHIgMjggMDk6 NDU6NDkgMjAwNA0KQEAgLTE1MTUsNyArMTUxNSw3IEBADQogCQkgKiBwcm9jZXNzIGlzIHN3YXBw ZWQgb3V0IC0tIGRlYWN0aXZhdGUgcGFnZXMNCiAJCSAqLw0KIAkJc3hfc2xvY2soJmFsbHByb2Nf bG9jayk7DQotCQlMSVNUX0ZPUkVBQ0gocCwgJmFsbHByb2MsIHBfbGlzdCkgew0KKwkJRk9SRUFD SF9QUk9DX0lOX1NZU1RFTShwKSB7DQogCQkJdm1fcGluZGV4X3QgbGltaXQsIHNpemU7DQogDQog CQkJLyoNCg== --=-fMDoDTdozg4tOTiuGD2S--