From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thiago Farina Subject: Re: [PATCH/RFC 2/4] grep: pass current line number down to match_one_pattern Date: Mon, 2 May 2011 10:30:16 -0300 Message-ID: References: <2681b60988c7c4d059f83df368395eca0520012c.1304321122.git.bert.wesarg@googlemail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Cc: git@vger.kernel.org To: Bert Wesarg X-From: git-owner@vger.kernel.org Mon May 02 15:30:30 2011 Return-path: Envelope-to: gcvg-git-2@lo.gmane.org Received: from vger.kernel.org ([209.132.180.67]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QGtCn-0006dL-2g for gcvg-git-2@lo.gmane.org; Mon, 02 May 2011 15:30:29 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758909Ab1EBNaS (ORCPT ); Mon, 2 May 2011 09:30:18 -0400 Received: from mail-iy0-f174.google.com ([209.85.210.174]:54937 "EHLO mail-iy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758886Ab1EBNaR (ORCPT ); Mon, 2 May 2011 09:30:17 -0400 Received: by iyb14 with SMTP id 14so4619874iyb.19 for ; Mon, 02 May 2011 06:30:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=6eKnq/2wKdyn29GRsurEbZmAL5bVncM1By/IXvr8OfI=; b=NIpyUcUUTfopWsN9cCnutNSBXTE+XJypEoUZSvX2Xe735kOGXaPxTgjU/Q487IQWrm BcmgkKBOwgRFUX8A0HOavurK0XrUaon30V5UeHd6XHUu2BvWTWHXInHQhQCJxJRdwfth 4otqfeAgsvk9tUq2rBx+7QcTM4z8YkDFaY1p0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=JA/zB2c8WYuh2ubvOJTE2Hypl1nkL3IL7btmSmMUI1lrI4fuXy96duVfiEbUmNG1Vp UbKgzHEwfwNpfiOtzvFPMS7z5k4fJzARe/apdkssUrTf2zZMb5oKW/GuPOkmj9of1q0Y HDtXeCcv1jk6Itw3n5V+j+I/6M1tKoFNMCymI= Received: by 10.42.147.197 with SMTP id o5mr5059129icv.475.1304343016558; Mon, 02 May 2011 06:30:16 -0700 (PDT) Received: by 10.42.219.8 with HTTP; Mon, 2 May 2011 06:30:16 -0700 (PDT) In-Reply-To: <2681b60988c7c4d059f83df368395eca0520012c.1304321122.git.bert.wesarg@googlemail.com> Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: T24gTW9uLCBNYXkgMiwgMjAxMSBhdCA4OjM5IEFNLCBCZXJ0IFdlc2FyZyA8YmVydC53ZXNhcmdA Z29vZ2xlbWFpbC5jb20+IHdyb3RlOgo+IFNpZ25lZC1vZmYtYnk6IEJlcnQgV2VzYXJnIDxiZXJ0 Lndlc2FyZ0Bnb29nbGVtYWlsLmNvbT4KPiAtLS0KPiDCoGdyZXAuYyB8IMKgIDQyICsrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IMKgMSBmaWxlcyBjaGFuZ2VkLCAy MSBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9ncmVwLmMg Yi9ncmVwLmMKPiBpbmRleCBiOGVkYTllLi5mMjFiMDIyIDEwMDY0NAo+IC0tLSBhL2dyZXAuYwo+ ICsrKyBiL2dyZXAuYwo+IEBAIC00MzcsNyArNDM3LDcgQEAgc3RhdGljIHN0cnVjdCB7Cj4gwqB9 Owo+Cj4gwqBzdGF0aWMgaW50IG1hdGNoX29uZV9wYXR0ZXJuKHN0cnVjdCBncmVwX3BhdCAqcCwg Y2hhciAqYm9sLCBjaGFyICplb2wsCj4gLSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoGVudW0gZ3JlcF9jb250ZXh0IGN0eCwKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgdW5zaWduZWQgbG5vLCBlbnVtIGdyZXBfY29udGV4dCBjdHgs CgpJJ2QgcmVuYW1lIGxubyB0byBsaW5lX25yLCBzbyBpdCdzIG1vcmUgY2xlYXJlci4gQWxzbywg SSdkIGFkZCB0aGUgbmV3CnBhcmFtZW50ZXIgYXQgdGhlIGVuZCwgbm90IGluIHNvbWUgcmFuZG9t IHBvc2l0aW9uIChvciB3YXMgdGhlcmUgc29tZQpwYXJ0aWN1bGFyIHJlYXNvbiB0byBwdXQgaGVy ZSBidXQgbm90IGluIHRoZSBlbmQ/KS4KCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgcmVnbWF0Y2hfdCAqcG1hdGNoLCBpbnQgZWZsYWdzKQo+IMKgewo+IMKgIMKg IMKgIMKgaW50IGhpdCA9IDA7Cj4gQEAgLTUxNiw3ICs1MTYsNyBAQCBzdGF0aWMgaW50IG1hdGNo X29uZV9wYXR0ZXJuKHN0cnVjdCBncmVwX3BhdCAqcCwgY2hhciAqYm9sLCBjaGFyICplb2wsCj4g wqB9Cj4KPiDCoHN0YXRpYyBpbnQgbWF0Y2hfZXhwcl9ldmFsKHN0cnVjdCBncmVwX2V4cHIgKngs IGNoYXIgKmJvbCwgY2hhciAqZW9sLAo+IC0gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBlbnVtIGdyZXBfY29udGV4dCBjdHgsIGludCBjb2xsZWN0X2hpdHMpCj4gKyDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHVuc2lnbmVkIGxubywgZW51bSBncmVw X2NvbnRleHQgY3R4LCBpbnQgY29sbGVjdF9oaXRzKQo+IMKgewo+IMKgIMKgIMKgIMKgaW50IGgg PSAwOwo+IMKgIMKgIMKgIMKgcmVnbWF0Y2hfdCBtYXRjaDsKPiBAQCAtNTI4LDI1ICs1MjgsMjUg QEAgc3RhdGljIGludCBtYXRjaF9leHByX2V2YWwoc3RydWN0IGdyZXBfZXhwciAqeCwgY2hhciAq Ym9sLCBjaGFyICplb2wsCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBoID0gMTsKPiDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoGJyZWFrOwo+IMKgIMKgIMKgIMKgY2FzZSBHUkVQX05PREVfQVRPTToK PiAtIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGggPSBtYXRjaF9vbmVfcGF0dGVybih4LT51LmF0b20s IGJvbCwgZW9sLCBjdHgsICZtYXRjaCwgMCk7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBoID0g bWF0Y2hfb25lX3BhdHRlcm4oeC0+dS5hdG9tLCBib2wsIGVvbCwgbG5vLCBjdHgsICZtYXRjaCwg MCk7Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBicmVhazsKPiDCoCDCoCDCoCDCoGNhc2UgR1JF UF9OT0RFX05PVDoKPiAtIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGggPSAhbWF0Y2hfZXhwcl9ldmFs KHgtPnUudW5hcnksIGJvbCwgZW9sLCBjdHgsIDApOwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAg aCA9ICFtYXRjaF9leHByX2V2YWwoeC0+dS51bmFyeSwgYm9sLCBlb2wsIGxubywgY3R4LCAwKTsK PiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJyZWFrOwo+IMKgIMKgIMKgIMKgY2FzZSBHUkVQX05P REVfQU5EOgo+IC0gwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKCFtYXRjaF9leHByX2V2YWwoeC0+ dS5iaW5hcnkubGVmdCwgYm9sLCBlb2wsIGN0eCwgMCkpCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDC oCBpZiAoIW1hdGNoX2V4cHJfZXZhbCh4LT51LmJpbmFyeS5sZWZ0LCBib2wsIGVvbCwgbG5vLCBj dHgsIDApKQo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcmV0dXJuIDA7Cj4g LSDCoCDCoCDCoCDCoCDCoCDCoCDCoCBoID0gbWF0Y2hfZXhwcl9ldmFsKHgtPnUuYmluYXJ5LnJp Z2h0LCBib2wsIGVvbCwgY3R4LCAwKTsKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGggPSBtYXRj aF9leHByX2V2YWwoeC0+dS5iaW5hcnkucmlnaHQsIGJvbCwgZW9sLCBsbm8sIGN0eCwgMCk7Cj4g wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBicmVhazsKPiDCoCDCoCDCoCDCoGNhc2UgR1JFUF9OT0RF X09SOgo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgaWYgKCFjb2xsZWN0X2hpdHMpCj4gwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqByZXR1cm4gKG1hdGNoX2V4cHJfZXZhbCh4LT51 LmJpbmFyeS5sZWZ0LAo+IC0gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgYm9sLCBlb2wsIGN0eCwgMCkgfHwKPiArIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIGJvbCwgZW9sLCBsbm8sIGN0eCwgMCkgfHwKPiDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoG1hdGNoX2V4cHJfZXZhbCh4LT51LmJpbmFyeS5y aWdodCwKPiAtIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJvbCwgZW9sLCBjdHgsIDApKTsKPiAtIMKgIMKgIMKgIMKg IMKgIMKgIMKgIGggPSBtYXRjaF9leHByX2V2YWwoeC0+dS5iaW5hcnkubGVmdCwgYm9sLCBlb2ws IGN0eCwgMCk7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBib2wsIGVvbCwgbG5vLCBjdHgsIDApKTsKPiArIMKg IMKgIMKgIMKgIMKgIMKgIMKgIGggPSBtYXRjaF9leHByX2V2YWwoeC0+dS5iaW5hcnkubGVmdCwg Ym9sLCBlb2wsIGxubywgY3R4LCAwKTsKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHgtPnUuYmlu YXJ5LmxlZnQtPmhpdCB8PSBoOwo+IC0gwqAgwqAgwqAgwqAgwqAgwqAgwqAgaCB8PSBtYXRjaF9l eHByX2V2YWwoeC0+dS5iaW5hcnkucmlnaHQsIGJvbCwgZW9sLCBjdHgsIDEpOwo+ICsgwqAgwqAg wqAgwqAgwqAgwqAgwqAgaCB8PSBtYXRjaF9leHByX2V2YWwoeC0+dS5iaW5hcnkucmlnaHQsIGJv bCwgZW9sLCBsbm8sIGN0eCwgMSk7Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBicmVhazsKPiDC oCDCoCDCoCDCoGRlZmF1bHQ6Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBkaWUoIlVuZXhwZWN0 ZWQgbm9kZSB0eXBlIChpbnRlcm5hbCBlcnJvcikgJWQiLCB4LT5ub2RlKTsKPiBAQCAtNTU3LDM2 ICs1NTcsMzYgQEAgc3RhdGljIGludCBtYXRjaF9leHByX2V2YWwoc3RydWN0IGdyZXBfZXhwciAq eCwgY2hhciAqYm9sLCBjaGFyICplb2wsCj4gwqB9Cj4KPiDCoHN0YXRpYyBpbnQgbWF0Y2hfZXhw cihzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgY2hhciAqYm9sLCBjaGFyICplb2wsCj4gLSDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBlbnVtIGdyZXBfY29udGV4dCBjdHgsIGludCBjb2xsZWN0 X2hpdHMpCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB1bnNpZ25lZCBsbm8sIGVu dW0gZ3JlcF9jb250ZXh0IGN0eCwgaW50IGNvbGxlY3RfaGl0cykKPiDCoHsKPiDCoCDCoCDCoCDC oHN0cnVjdCBncmVwX2V4cHIgKnggPSBvcHQtPnBhdHRlcm5fZXhwcmVzc2lvbjsKPiAtIMKgIMKg IMKgIHJldHVybiBtYXRjaF9leHByX2V2YWwoeCwgYm9sLCBlb2wsIGN0eCwgY29sbGVjdF9oaXRz KTsKPiArIMKgIMKgIMKgIHJldHVybiBtYXRjaF9leHByX2V2YWwoeCwgYm9sLCBlb2wsIGxubywg Y3R4LCBjb2xsZWN0X2hpdHMpOwo+IMKgfQo+Cj4gwqBzdGF0aWMgaW50IG1hdGNoX2xpbmUoc3Ry dWN0IGdyZXBfb3B0ICpvcHQsIGNoYXIgKmJvbCwgY2hhciAqZW9sLAo+IC0gwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgZW51bSBncmVwX2NvbnRleHQgY3R4LCBpbnQgY29sbGVjdF9oaXRz KQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdW5zaWduZWQgbG5vLCBlbnVtIGdy ZXBfY29udGV4dCBjdHgsIGludCBjb2xsZWN0X2hpdHMpCj4gwqB7Cj4gwqAgwqAgwqAgwqBzdHJ1 Y3QgZ3JlcF9wYXQgKnA7Cj4gwqAgwqAgwqAgwqByZWdtYXRjaF90IG1hdGNoOwo+Cj4gwqAgwqAg wqAgwqBpZiAob3B0LT5leHRlbmRlZCkKPiAtIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJldHVybiBt YXRjaF9leHByKG9wdCwgYm9sLCBlb2wsIGN0eCwgY29sbGVjdF9oaXRzKTsKPiArIMKgIMKgIMKg IMKgIMKgIMKgIMKgIHJldHVybiBtYXRjaF9leHByKG9wdCwgYm9sLCBlb2wsIGxubywgY3R4LCBj b2xsZWN0X2hpdHMpOwo+Cj4gwqAgwqAgwqAgwqAvKiB3ZSBkbyBub3QgY2FsbCB3aXRoIGNvbGxl Y3RfaGl0cyB3aXRob3V0IGJlaW5nIGV4dGVuZGVkICovCj4gwqAgwqAgwqAgwqBmb3IgKHAgPSBv cHQtPnBhdHRlcm5fbGlzdDsgcDsgcCA9IHAtPm5leHQpIHsKPiAtIMKgIMKgIMKgIMKgIMKgIMKg IMKgIGlmIChtYXRjaF9vbmVfcGF0dGVybihwLCBib2wsIGVvbCwgY3R4LCAmbWF0Y2gsIDApKQo+ ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKG1hdGNoX29uZV9wYXR0ZXJuKHAsIGJvbCwgZW9s LCBsbm8sIGN0eCwgJm1hdGNoLCAwKSkKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoHJldHVybiAxOwo+IMKgIMKgIMKgIMKgfQo+IMKgIMKgIMKgIMKgcmV0dXJuIDA7Cj4gwqB9 Cj4KPiDCoHN0YXRpYyBpbnQgbWF0Y2hfbmV4dF9wYXR0ZXJuKHN0cnVjdCBncmVwX3BhdCAqcCwg Y2hhciAqYm9sLCBjaGFyICplb2wsCj4gLSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBlbnVtIGdyZXBfY29udGV4dCBjdHgsCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB1bnNpZ25lZCBsbm8sIGVudW0gZ3JlcF9jb250ZXh0IGN0 eCwKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHJlZ21hdGNo X3QgKnBtYXRjaCwgaW50IGVmbGFncykKPiDCoHsKPiDCoCDCoCDCoCDCoHJlZ21hdGNoX3QgbWF0 Y2g7Cj4KPiAtIMKgIMKgIMKgIGlmICghbWF0Y2hfb25lX3BhdHRlcm4ocCwgYm9sLCBlb2wsIGN0 eCwgJm1hdGNoLCBlZmxhZ3MpKQo+ICsgwqAgwqAgwqAgaWYgKCFtYXRjaF9vbmVfcGF0dGVybihw LCBib2wsIGVvbCwgbG5vLCBjdHgsICZtYXRjaCwgZWZsYWdzKSkKPiDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoHJldHVybiAwOwo+IMKgIMKgIMKgIMKgaWYgKG1hdGNoLnJtX3NvIDwgMCB8fCBtYXRj aC5ybV9lbyA8IDApCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqByZXR1cm4gMDsKPiBAQCAtNjAx LDcgKzYwMSw3IEBAIHN0YXRpYyBpbnQgbWF0Y2hfbmV4dF9wYXR0ZXJuKHN0cnVjdCBncmVwX3Bh dCAqcCwgY2hhciAqYm9sLCBjaGFyICplb2wsCj4gwqAgwqAgwqAgwqByZXR1cm4gMTsKPiDCoH0K Pgo+IC1zdGF0aWMgaW50IG5leHRfbWF0Y2goc3RydWN0IGdyZXBfb3B0ICpvcHQsIGNoYXIgKmJv bCwgY2hhciAqZW9sLAo+ICtzdGF0aWMgaW50IG5leHRfbWF0Y2goc3RydWN0IGdyZXBfb3B0ICpv cHQsIGNoYXIgKmJvbCwgY2hhciAqZW9sLCB1bnNpZ25lZCBsbm8sCj4gwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqBlbnVtIGdyZXBfY29udGV4dCBjdHgsIHJlZ21hdGNoX3QgKnBtYXRj aCwgaW50IGVmbGFncykKPiDCoHsKPiDCoCDCoCDCoCDCoHN0cnVjdCBncmVwX3BhdCAqcDsKPiBA QCAtNjE0LDcgKzYxNCw3IEBAIHN0YXRpYyBpbnQgbmV4dF9tYXRjaChzdHJ1Y3QgZ3JlcF9vcHQg Km9wdCwgY2hhciAqYm9sLCBjaGFyICplb2wsCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBjYXNlIEdSRVBfUEFUVEVSTjogLyogYXRvbSAqLwo+IMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgY2FzZSBHUkVQX1BBVFRFUk5fSEVBRDoKPiDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNhc2UgR1JFUF9QQVRURVJOX0JPRFk6Cj4gLSDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBoaXQgfD0gbWF0Y2hfbmV4dF9w YXR0ZXJuKHAsIGJvbCwgZW9sLCBjdHgsCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCBoaXQgfD0gbWF0Y2hfbmV4dF9wYXR0ZXJuKHAsIGJvbCwgZW9sLCBs bm8sIGN0eCwKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHBtYXRjaCwgZWZsYWdzKTsK PiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJyZWFrOwo+ IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZGVmYXVsdDoKPiBAQCAtNjY3LDcg KzY2Nyw3IEBAIHN0YXRpYyB2b2lkIHNob3dfbGluZShzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgY2hh ciAqYm9sLCBjaGFyICplb2wsCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBlbHNlIGlmIChzaWdu ID09ICc9JykKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGxpbmVfY29sb3Ig PSBvcHQtPmNvbG9yX2Z1bmN0aW9uOwo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKmVvbCA9ICdc MCc7Cj4gLSDCoCDCoCDCoCDCoCDCoCDCoCDCoCB3aGlsZSAobmV4dF9tYXRjaChvcHQsIGJvbCwg ZW9sLCBjdHgsICZtYXRjaCwgZWZsYWdzKSkgewo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgd2hp bGUgKG5leHRfbWF0Y2gob3B0LCBib2wsIGVvbCwgbG5vLCBjdHgsICZtYXRjaCwgZWZsYWdzKSkg ewo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgaWYgKG1hdGNoLnJtX3NvID09 IG1hdGNoLnJtX2VvKQo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgYnJlYWs7Cj4KPiBAQCAtOTExLDcgKzkxMSw3IEBAIHN0YXRpYyBpbnQgZ3JlcF9idWZm ZXJfMShzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgY29uc3QgY2hhciAqbmFtZSwKPiDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoGlmICgoY3R4ID09IEdSRVBfQ09OVEVYVF9IRUFEKSAmJiAoZW9sID09IGJv bCkpCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBjdHggPSBHUkVQX0NPTlRF WFRfQk9EWTsKPgo+IC0gwqAgwqAgwqAgwqAgwqAgwqAgwqAgaGl0ID0gbWF0Y2hfbGluZShvcHQs IGJvbCwgZW9sLCBjdHgsIGNvbGxlY3RfaGl0cyk7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBo aXQgPSBtYXRjaF9saW5lKG9wdCwgYm9sLCBlb2wsIGxubywgY3R4LCBjb2xsZWN0X2hpdHMpOwo+ IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKmVvbCA9IGNoOwo+Cj4gwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBpZiAoY29sbGVjdF9oaXRzKQo+IC0tCj4gMS43LjUuMzQ5LmdmZWIxYQo+Cj4gLS0KPiBU byB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUg Z2l0IiBpbgo+IHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwu b3JnCj4gTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCDCoGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFq b3Jkb21vLWluZm8uaHRtbAo+Cg==