From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Reuben Thomas Newsgroups: gmane.emacs.bugs Subject: bug#25082: [PATCH] Add support to emacsclient for command-lline options in ALTERNATE_EDITOR/--alternate-editor Date: Tue, 29 Aug 2017 23:29:24 +0100 Message-ID: References: <83val93vrk.fsf@gnu.org> <83val62xcb.fsf@gnu.org> <83shga2ubi.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="001a113ce08c89a57a0557ebf19a" X-Trace: blaine.gmane.org 1504045815 23615 195.159.176.226 (29 Aug 2017 22:30:15 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 29 Aug 2017 22:30:15 +0000 (UTC) Cc: 25082@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Aug 30 00:30:10 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dmp1M-0005dg-9r for geb-bug-gnu-emacs@m.gmane.org; Wed, 30 Aug 2017 00:30:08 +0200 Original-Received: from localhost ([::1]:47316 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dmp1R-0002H1-Dw for geb-bug-gnu-emacs@m.gmane.org; Tue, 29 Aug 2017 18:30:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45683) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dmp1L-0002Gi-1I for bug-gnu-emacs@gnu.org; Tue, 29 Aug 2017 18:30:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dmp1G-0000KK-SZ for bug-gnu-emacs@gnu.org; Tue, 29 Aug 2017 18:30:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:52552) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dmp1G-0000KA-NH for bug-gnu-emacs@gnu.org; Tue, 29 Aug 2017 18:30:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dmp1G-0006ml-De for bug-gnu-emacs@gnu.org; Tue, 29 Aug 2017 18:30:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Reuben Thomas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 Aug 2017 22:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25082 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 25082-submit@debbugs.gnu.org id=B25082.150404577326011 (code B ref 25082); Tue, 29 Aug 2017 22:30:02 +0000 Original-Received: (at 25082) by debbugs.gnu.org; 29 Aug 2017 22:29:33 +0000 Original-Received: from localhost ([127.0.0.1]:33000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dmp0n-0006lS-5m for submit@debbugs.gnu.org; Tue, 29 Aug 2017 18:29:33 -0400 Original-Received: from mail-oi0-f52.google.com ([209.85.218.52]:34082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dmp0k-0006lE-K6 for 25082@debbugs.gnu.org; Tue, 29 Aug 2017 18:29:31 -0400 Original-Received: by mail-oi0-f52.google.com with SMTP id w10so38766130oie.1 for <25082@debbugs.gnu.org>; Tue, 29 Aug 2017 15:29:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sc3d.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=DZ5KYgpJkXn74i1t8F6bRe+Ao96Sp56wduqJN5QPnqY=; b=WvYiJAdrH6b9xnqOfMzj2e8jak6RDbCE1Ka1GOeWsmae8+r6wGd1GlNIU2jWz4j8ff AVD344wV1VG0dicjjvOWrXbi+miDzScBv3RIaU+wG0CuVu+OWuq9bW3UNldrtGtZDd+6 xvZ1A11gbCKFOln3fTGezrwUwuZ3qB83EfjCU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=DZ5KYgpJkXn74i1t8F6bRe+Ao96Sp56wduqJN5QPnqY=; b=Mqjqbe82IajVSWYZxPuB7Vy2MIx7ul9mFKl4d3yhczLEvO/GzHC5aKWHbLJnnGpeg1 G599p7xvIOKUhLDMM1akprrWK4jAiblN/e4PzeGEApa805DzynsMlJkN8pd2qLtTKDe5 VKXIsAvQ21hkZs/ficDgXMIhAQLGZE/XtaqD64mAuHIpKKyezgnFS+H+xNRg6FFcNiVH ILkQgaOEKv4WFapV23T64sut2WrMq7kqrSmgSa1gm3rAT1xpsHUxDsl9w64WWHJvmQrp tszFKN1TprYxVZD34qVLIDNsOVjzKk2+/ab8/7CjoYdKy4Un6VBdjOhMKiFmyv7KDlE/ JsPw== X-Gm-Message-State: AHYfb5giCoEmpch5/ZQy5a4GsZ15rxFhIdfVunDJXe5f8qA4ue2D+Kzp byGnXrwANDnVDplgmb2s8NBDdYRN4jno X-Received: by 10.202.179.137 with SMTP id c131mr1749932oif.298.1504045764794; Tue, 29 Aug 2017 15:29:24 -0700 (PDT) Original-Received: by 10.157.53.86 with HTTP; Tue, 29 Aug 2017 15:29:24 -0700 (PDT) In-Reply-To: <83shga2ubi.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:136363 Archived-At: --001a113ce08c89a57a0557ebf19a Content-Type: multipart/alternative; boundary="001a113ce08c89a5760557ebf198" --001a113ce08c89a5760557ebf198 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On 29 August 2017 at 17:49, Eli Zaretskii wrote: =E2=80=8B[snip] I attach an updated patch with the documentation changes (to manual and NEWS).=E2=80=8B > The issue I alluded to is a subtle misfeature in the Windows > implementation of execvp (and similar Posix functions): the arguments > you pass via the argv array get concatenated into a single > command-line string, and that string is passed to the Windows system > API that actually invokes the program. So argv[] elements that > include whitespace need to be quoted(!) to work correctly on > MS-Windows. (Of course, this quoting must be ifdef'ed away for Posix > platforms.) > =E2=80=8BI see, thanks for the explanation. Doesn't w32_execvp handle this = already? --=20 https://rrt.sc3d.org --001a113ce08c89a5760557ebf198 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On 2= 9 August 2017 at 17:49, Eli Zaretskii <eliz@gnu.org> wrote:

= =E2=80=8B[snip]

I attach = an updated patch with the documentation changes (to manual and NEWS).=E2=80= =8B
=C2=A0
The issue I alluded to is a subtle misfeature in the Windows
implementation of execvp (and similar Posix functions): the arguments
you pass via the argv array get concatenated into a single
command-line string, and that string is passed to the Windows system
API that actually invokes the program.=C2=A0 So argv[] elements that
include whitespace need to be quoted(!) to work correctly on
MS-Windows.=C2=A0 (Of course, this quoting must be ifdef'ed away for Po= six
platforms.)

=E2=80=8BI see, thanks for the explanation. Doesn't w32_execvp handl= e this already?

--
--001a113ce08c89a5760557ebf198-- --001a113ce08c89a57a0557ebf19a Content-Type: text/x-patch; charset="UTF-8"; name="0001-Add-support-for-arguments-in-ALTERNATE_EDITOR-to-ema.patch" Content-Disposition: attachment; filename="0001-Add-support-for-arguments-in-ALTERNATE_EDITOR-to-ema.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j6y609fn0 RnJvbSBiZjQxYmNjYWJjNTIxNDE4NTkxY2UwMTIwNjRjYzhhMjY1Nzk2YTgyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSZXViZW4gVGhvbWFzIDxycnRAc2MzZC5vcmc+CkRhdGU6IFRo dSwgMSBEZWMgMjAxNiAxNToyMTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdXBwb3J0 IGZvciBhcmd1bWVudHMgaW4gQUxURVJOQVRFX0VESVRPUiB0byBlbWFjc2NsaWVudApNSU1FLVZl cnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKKiBsaWItc3JjL2VtYWNzY2xpZW50LmMgKGZhaWwp OiBQYXJzZSBBTFRFUk5BVEVfRURJVE9SLCBvcgpjb3JyZXNwb25kaW5nIGNvbW1hbmQtbGluZSBh cmd1bWVudCwgaW50byBxdW90ZS0gb3Igc3BhY2Utc2VwYXJhdGVkCnRva2Vucy4gIElmIGEgdG9r ZW4gc3RhcnRzIHdpdGggYSBxdW90ZSwgdGhlbiBpdCBuYXR1cmFsbHkgaXMgZXhwZWN0ZWQKdG8g ZW5kIHdpdGggYSBxdW90ZTsgZXNjYXBpbmcgaXMgbm90IHN1cHBvcnRlZC4gVGhpcyBpcyBlbm91 Z2ggdG8gY29wZQp3aXRoIHRoZSB0eXBpY2FsIGNhc2Ugb2YgcmVxdWlyaW5nIHRoZSBpbml0aWFs IHBhdGggdG8gYmUgcXVvdGVkLApjb21tb24gb24gV2luZG93cyB3aGVyZSBpdCBtYXkgY29udGFp biBzcGFjZXMuCiogZXRjL05FV1M6IERvY3VtZW50LgoqIGRvYy9lbWFjcy9taXNjLnRleGk6IExp a2V3aXNlLgoqIGRvYy9tYW4vZW1hY3NjbGllbnQuMTogVHdlYWsgdG8gcmVtb3ZlIHRoZSBpbXBs aWNhdGlvbiB0aGF0IG9ubHkgYW4KZWRpdG9yIGNhbiBiZSBzcGVjaWZpZWQgKHRoZSBtYW51YWwg YWxyZWFkeSBtZW50aW9ucyBhIOKAnGNvbW1hbmTigJ0pLgpGaXggYSBzbWFsbCBlcnJvciB3aGVy ZSDigJxFRElUT1LigJ0gaXMgcmVmZXJyZWQgdG8gcmF0aGVyIHRoYW4K4oCcQUxURVJOQVRFX0VE SVRPUuKAnS4KKiB0ZXN0L2xpYi1zcmMvZW1hY3NjbGllbnQtdGVzdHMuZWw6IEFkZCB0ZXN0cy4K LS0tCiBkb2MvZW1hY3MvbWlzYy50ZXhpICAgICAgICAgICAgICAgfCAgNCArLQogZG9jL21hbi9l bWFjc2NsaWVudC4xICAgICAgICAgICAgIHwgIDYgKy0tCiBldGMvTkVXUyAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNyArKysrCiBsaWItc3JjL2VtYWNzY2xpZW50LmMgICAgICAgICAgICAg fCA4NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIHRlc3QvbGliLXNy Yy9lbWFjc2NsaWVudC10ZXN0cy5lbCB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrCiA1IGZp bGVzIGNoYW5nZWQsIDEyOSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCB0ZXN0L2xpYi1zcmMvZW1hY3NjbGllbnQtdGVzdHMuZWwKCmRpZmYgLS1naXQg YS9kb2MvZW1hY3MvbWlzYy50ZXhpIGIvZG9jL2VtYWNzL21pc2MudGV4aQppbmRleCA3M2E2YmFl Li43NjAyZmJiIDEwMDY0NAotLS0gYS9kb2MvZW1hY3MvbWlzYy50ZXhpCisrKyBiL2RvYy9lbWFj cy9taXNjLnRleGkKQEAgLTE4MjEsOCArMTgyMSwxMCBAQCBlbWFjc2NsaWVudCBPcHRpb25zCiBA dGFibGUgQHNhbXAKIEBpdGVtIC1hIEB2YXJ7Y29tbWFuZH0KIEBpdGVteCAtLWFsdGVybmF0ZS1l ZGl0b3I9QHZhcntjb21tYW5kfQotU3BlY2lmeSBhIGNvbW1hbmQgdG8gcnVuIGlmIEBjb2Rle2Vt YWNzY2xpZW50fSBmYWlscyB0byBjb250YWN0IEVtYWNzLgorU3BlY2lmeSBhIHNoZWxsIGNvbW1h bmQgdG8gcnVuIGlmIEBjb2Rle2VtYWNzY2xpZW50fSBmYWlscyB0byBjb250YWN0IEVtYWNzLgog VGhpcyBpcyB1c2VmdWwgd2hlbiBydW5uaW5nIEBjb2Rle2VtYWNzY2xpZW50fSBpbiBhIHNjcmlw dC4KK1RoZSBjb21tYW5kIG1heSBpbmNsdWRlIGFyZ3VtZW50cywgd2hpY2ggbWF5IGJlIHF1b3Rl ZCAibGlrZSB0aGlzIi4KK0N1cnJlbnRseSwgZXNjYXBpbmcgb2YgcXVvdGVzIGlzIG5vdCBzdXBw b3J0ZWQuCiAKIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIGlmIEB2YXJ7Y29tbWFuZH0gaXMgdGhl IGVtcHR5IHN0cmluZywgdGhlbgogQGNvZGV7ZW1hY3NjbGllbnR9IHN0YXJ0cyBFbWFjcyBpbiBk YWVtb24gbW9kZSAoYXMgQGNvbW1hbmR7ZW1hY3MKZGlmZiAtLWdpdCBhL2RvYy9tYW4vZW1hY3Nj bGllbnQuMSBiL2RvYy9tYW4vZW1hY3NjbGllbnQuMQppbmRleCAwMTBlZWJhLi5kYWFhY2FiIDEw MDY0NAotLS0gYS9kb2MvbWFuL2VtYWNzY2xpZW50LjEKKysrIGIvZG9jL21hbi9lbWFjc2NsaWVu dC4xCkBAIC02MiwxMCArNjIsMTAgQEAgQSBtaXNzaW5nCiBpcyB0cmVhdGVkIGFzIGNvbHVtbiAx LgogVGhpcyBvcHRpb24gYXBwbGllcyBvbmx5IHRvIHRoZSBuZXh0IGZpbGUgc3BlY2lmaWVkLgog LlRQCi0uQiBcLWEsIFwtXC1hbHRlcm5hdGUtZWRpdG9yPUVESVRPUgotaWYgdGhlIEVtYWNzIHNl cnZlciBpcyBub3QgcnVubmluZywgcnVuIHRoZSBzcGVjaWZpZWQgZWRpdG9yIGluc3RlYWQuCisu QiBcLWEsIFwtXC1hbHRlcm5hdGUtZWRpdG9yPUNPTU1BTkQKK2lmIHRoZSBFbWFjcyBzZXJ2ZXIg aXMgbm90IHJ1bm5pbmcsIHJ1biB0aGUgc3BlY2lmaWVkIHNoZWxsIGNvbW1hbmQgaW5zdGVhZC4K IFRoaXMgY2FuIGFsc28gYmUgc3BlY2lmaWVkIHZpYSB0aGUgQUxURVJOQVRFX0VESVRPUiBlbnZp cm9ubWVudCB2YXJpYWJsZS4KLUlmIHRoZSB2YWx1ZSBvZiBFRElUT1IgaXMgdGhlIGVtcHR5IHN0 cmluZywgcnVuICJlbWFjcyBcLVwtZGFlbW9uIiB0bworSWYgdGhlIHZhbHVlIG9mIEFMVEVSTkFU RV9FRElUT1IgaXMgdGhlIGVtcHR5IHN0cmluZywgcnVuICJlbWFjcyBcLVwtZGFlbW9uIiB0bwog c3RhcnQgRW1hY3MgaW4gZGFlbW9uIG1vZGUsIGFuZCB0cnkgdG8gY29ubmVjdCB0byBpdC4KIC5U UAogLkIgLWMsIFwtXC1jcmVhdGUtZnJhbWUKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05F V1MKaW5kZXggZThkNmVhOS4uODBmNmQ2YiAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysrIGIvZXRj L05FV1MKQEAgLTUxOCw2ICs1MTgsMTMgQEAgTGludW0gbW9kZSBhbmQgYWxsIHNpbWlsYXIgcGFj a2FnZXMgYXJlIGhlbmNlZm9ydGggYmVjb21pbmcgb2Jzb2xldGUuCiBVc2VycyBhbmQgZGV2ZWxv cGVycyBhcmUgZW5jb3VyYWdlZCB0byBzd2l0Y2ggdG8gdGhpcyBuZXcgZmVhdHVyZQogaW5zdGVh ZC4KIAorKysrCisqKiBlbWFjc2NsaWVudCBub3cgYWNjZXB0cyBjb21tYW5kLWxpbmUgb3B0aW9u cyBpbiBBTFRFUk5BVEVfRURJVE9SCithbmQgLS1hbHRlcm5hdGUtZWRpdG9yLiBGb3IgZXhhbXBs ZSwgQUxURVJOQVRFX0VESVRPUj0iZW1hY3MgLVEgLW53Ii4KK0FyZ3VtZW50cyBtYXkgYmUgcXVv dGVkICJsaWtlIHRoaXMiLCBzbyB0aGF0IGZvciBleGFtcGxlIGFuIGFic29sdXRlCitwYXRoIGNv bnRhaW5pbmcgYSBzcGFjZSBtYXkgYmUgc3BlY2lmaWVkOyBxdW90ZSBlc2NhcGluZyBpcyBub3QK K3N1cHBvcnRlZC4KKwogDAogKiBFZGl0aW5nIENoYW5nZXMgaW4gRW1hY3MgMjYuMQogCmRpZmYg LS1naXQgYS9saWItc3JjL2VtYWNzY2xpZW50LmMgYi9saWItc3JjL2VtYWNzY2xpZW50LmMKaW5k ZXggZjFkNGU4OS4uNWUxODFjYyAxMDA2NDQKLS0tIGEvbGliLXNyYy9lbWFjc2NsaWVudC5jCisr KyBiL2xpYi1zcmMvZW1hY3NjbGllbnQuYwpAQCAtMTEwLDYgKzExMCw5IEBAIGNoYXIgKnczMl9n ZXRlbnYgKGNvbnN0IGNoYXIgKik7CiAvKiBOYW1lIHVzZWQgdG8gaW52b2tlIHRoaXMgcHJvZ3Jh bS4gICovCiBjb25zdCBjaGFyICpwcm9nbmFtZTsKIAorLyogVGhlIGZpcnN0IGFyZ3VtZW50IHRv IG1haW4uICAqLworaW50IG1haW5fYXJnYzsKKwogLyogVGhlIHNlY29uZCBhcmd1bWVudCB0byBt YWluLiAgKi8KIGNoYXIgKiptYWluX2FyZ3Y7CiAKQEAgLTIwMSw2ICsyMDQsMzUgQEAgeG1hbGxv YyAoc2l6ZV90IHNpemUpCiAgIHJldHVybiByZXN1bHQ7CiB9CiAKKy8qIExpa2UgcmVhbGxvYyBi dXQgZ2V0IGZhdGFsIGVycm9yIGlmIG1lbW9yeSBpcyBleGhhdXN0ZWQuICAqLworCitzdGF0aWMg dm9pZCAqCit4cmVhbGxvYyAodm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSkKK3sKKyAgdm9pZCAqcmVz dWx0ID0gcmVhbGxvYyAocHRyLCBzaXplKTsKKyAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgIHsK KyAgICAgIHBlcnJvciAoInJlYWxsb2MiKTsKKyAgICAgIGV4aXQgKEVYSVRfRkFJTFVSRSk7Cisg ICAgfQorICByZXR1cm4gcmVzdWx0OworfQorCisvKiBMaWtlIHN0cmR1cCBidXQgZ2V0IGEgZmF0 YWwgZXJyb3IgaWYgbWVtb3J5IGlzIGV4aGF1c3RlZC4gKi8KK2NoYXIgKnhzdHJkdXAgKGNvbnN0 IGNoYXIgKik7CisKK2NoYXIgKgoreHN0cmR1cCAoY29uc3QgY2hhciAqcykKK3sKKyAgY2hhciAq cmVzdWx0ID0gc3RyZHVwIChzKTsKKyAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgIHsKKyAgICAg IHBlcnJvciAoInN0cmR1cCIpOworICAgICAgZXhpdCAoRVhJVF9GQUlMVVJFKTsKKyAgICB9Cisg IHJldHVybiByZXN1bHQ7Cit9CisKIC8qIEZyb20gc3lzZGVwLmMgKi8KICNpZiAhZGVmaW5lZCAo SEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSkgfHwgZGVmaW5lZCAoQlJPS0VOX0dFVF9DVVJSRU5U X0RJUl9OQU1FKQogCkBAIC0yNjQsMjEgKzI5Niw2IEBAIGdldF9jdXJyZW50X2Rpcl9uYW1lICh2 b2lkKQogCiAjaWZkZWYgV0lORE9XU05UCiAKLS8qIExpa2Ugc3RyZHVwIGJ1dCBnZXQgYSBmYXRh bCBlcnJvciBpZiBtZW1vcnkgaXMgZXhoYXVzdGVkLiAqLwotY2hhciAqeHN0cmR1cCAoY29uc3Qg Y2hhciAqKTsKLQotY2hhciAqCi14c3RyZHVwIChjb25zdCBjaGFyICpzKQotewotICBjaGFyICpy ZXN1bHQgPSBzdHJkdXAgKHMpOwotICBpZiAocmVzdWx0ID09IE5VTEwpCi0gICAgewotICAgICAg cGVycm9yICgic3RyZHVwIik7Ci0gICAgICBleGl0IChFWElUX0ZBSUxVUkUpOwotICAgIH0KLSAg cmV0dXJuIHJlc3VsdDsKLX0KLQogI2RlZmluZSBSRUdfUk9PVCAiU09GVFdBUkVcXEdOVVxcRW1h Y3MiCiAKIGNoYXIgKnczMl9nZXRfcmVzb3VyY2UgKEhLRVksIGNvbnN0IGNoYXIgKiwgTFBEV09S RCk7CkBAIC02NzMsNyArNjkwLDcgQEAgUmVwb3J0IGJ1Z3Mgd2l0aCBNLXggcmVwb3J0LWVtYWNz LWJ1Zy5cbiIpOwogfQogCiAvKiBUcnkgdG8gcnVuIGEgZGlmZmVyZW50IGNvbW1hbmQsIG9yIC0t aWYgbm8gYWx0ZXJuYXRlIGVkaXRvciBpcwotICAgZGVmaW5lZC0tIGV4aXQgd2l0aCBhbiBlcnJv cmNvZGUuCisgICBkZWZpbmVkLS0gZXhpdCB3aXRoIGFuIGVycm9yIGNvZGUuCiAgICBVc2VzIGFy Z3YsIGJ1dCBnZXRzIGl0IGZyb20gdGhlIGdsb2JhbCB2YXJpYWJsZSBtYWluX2FyZ3YuICAqLwog CiBzdGF0aWMgX05vcmV0dXJuIHZvaWQKQEAgLTY4MSw5ICs2OTgsMzggQEAgZmFpbCAodm9pZCkK IHsKICAgaWYgKGFsdGVybmF0ZV9lZGl0b3IpCiAgICAgewotICAgICAgaW50IGkgPSBvcHRpbmQg LSAxOworICAgICAgc2l6ZV90IGV4dHJhX2FyZ3Nfc2l6ZSA9IChtYWluX2FyZ2MgLSBvcHRpbmQg KyAxKSAqIHNpemVvZiAoY2hhciAqKTsKKyAgICAgIHNpemVfdCBuZXdfYXJndl9zaXplID0gZXh0 cmFfYXJnc19zaXplOworICAgICAgY2hhciAqKm5ld19hcmd2ID0gTlVMTDsKKyAgICAgIGNoYXIg KnMgPSB4c3RyZHVwIChhbHRlcm5hdGVfZWRpdG9yKTsKKyAgICAgIHVuc2lnbmVkIHRva3MgPSAw OworCisgICAgICAvKiBVbnBhY2sgYWx0ZXJuYXRlX2VkaXRvcidzIHNwYWNlLXNlcGFyYXRlZCB0 b2tlbnMgaW50byBuZXdfYXJndi4gICovCisgICAgICBmb3IgKGNoYXIgKnRvayA9IHM7IHRvayAh PSBOVUxMICYmICp0b2sgIT0gJ1wwJzspCisgICAgICAgIHsKKyAgICAgICAgICAvKiBBbGxvY2F0 ZSBuZXcgdG9rZW4uICAqLworICAgICAgICAgICsrdG9rczsKKyAgICAgICAgICBuZXdfYXJndiA9 IHhyZWFsbG9jIChuZXdfYXJndiwgbmV3X2FyZ3Zfc2l6ZSArIHRva3MgKiBzaXplb2YgKGNoYXIg KikpOworCisgICAgICAgICAgLyogU2tpcCBsZWFkaW5nIGRlbGltaXRlcnMsIGFuZCBzZXQgc2Vw YXJhdG9yLCBza2lwcGluZyBhbnkKKyAgICAgICAgICAgICBvcGVuaW5nIHF1b3RlLiAgKi8KKyAg ICAgICAgICBzaXplX3Qgc2tpcCA9IHN0cnNwbiAodG9rLCAiIFwiIik7CisgICAgICAgICAgdG9r ICs9IHNraXA7CisgICAgICAgICAgY2hhciBzZXAgPSAoc2tpcCA+IDAgJiYgdG9rWy0xXSA9PSAn IicpID8gJyInIDogJyAnOworCisgICAgICAgICAgLyogUmVjb3JkIHN0YXJ0IG9mIHRva2VuLiAg Ki8KKyAgICAgICAgICBuZXdfYXJndlt0b2tzIC0gMV0gPSB0b2s7CisKKyAgICAgICAgICAvKiBG aW5kIGVuZCBvZiB0b2tlbiBhbmQgb3ZlcndyaXRlIGl0IHdpdGggTlVMLiAgKi8KKyAgICAgICAg ICB0b2sgPSBzdHJjaHIgKHRvaywgc2VwKTsKKyAgICAgICAgICBpZiAodG9rICE9IE5VTEwpCisg ICAgICAgICAgICAqdG9rKysgPSAnXDAnOworICAgICAgICB9CisKKyAgICAgIC8qIEFwcGVuZCBt YWluX2FyZ3YgYXJndW1lbnRzIHRvIG5ld19hcmd2LiAgKi8KKyAgICAgIG1lbWNweSAoJm5ld19h cmd2W3Rva3NdLCBtYWluX2FyZ3YgKyBvcHRpbmQsIGV4dHJhX2FyZ3Nfc2l6ZSk7CiAKLSAgICAg IGV4ZWN2cCAoYWx0ZXJuYXRlX2VkaXRvciwgbWFpbl9hcmd2ICsgaSk7CisgICAgICBleGVjdnAg KCpuZXdfYXJndiwgbmV3X2FyZ3YpOwogICAgICAgbWVzc2FnZSAodHJ1ZSwgIiVzOiBlcnJvciBl eGVjdXRpbmcgYWx0ZXJuYXRlIGVkaXRvciBcIiVzXCJcbiIsCiAJICAgICAgIHByb2duYW1lLCBh bHRlcm5hdGVfZWRpdG9yKTsKICAgICB9CkBAIC02OTYsNiArNzQyLDcgQEAgZmFpbCAodm9pZCkK IGludAogbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogeworICBtYWluX2FyZ2MgPSBhcmdj OwogICBtYWluX2FyZ3YgPSBhcmd2OwogICBwcm9nbmFtZSA9IGFyZ3ZbMF07CiAgIG1lc3NhZ2Ug KHRydWUsICIlczogU29ycnksIHRoZSBFbWFjcyBzZXJ2ZXIgaXMgc3VwcG9ydGVkIG9ubHlcbiIK QEAgLTE2MjksNiArMTY3Niw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgaW50 IHN0YXJ0X2RhZW1vbl9pZl9uZWVkZWQ7CiAgIGludCBleGl0X3N0YXR1cyA9IEVYSVRfU1VDQ0VT UzsKIAorICBtYWluX2FyZ2MgPSBhcmdjOwogICBtYWluX2FyZ3YgPSBhcmd2OwogICBwcm9nbmFt ZSA9IGFyZ3ZbMF07CiAKZGlmZiAtLWdpdCBhL3Rlc3QvbGliLXNyYy9lbWFjc2NsaWVudC10ZXN0 cy5lbCBiL3Rlc3QvbGliLXNyYy9lbWFjc2NsaWVudC10ZXN0cy5lbApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5lYTc1N2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdC9saWIt c3JjL2VtYWNzY2xpZW50LXRlc3RzLmVsCkBAIC0wLDAgKzEsNTAgQEAKKzs7OyBlbWFjc2NsaWVu dC10ZXN0cy5lbCAtLS0gVGVzdCBlbWFjc2NsaWVudAorCis7OyBDb3B5cmlnaHQgKEMpIDIwMTYg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKzs7IFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g MyBvZiB0aGUgTGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCisKKzs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OyBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4KKworOzs7IENvbW1lbnRhcnk6CisKKzs7CisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAnZXJ0 KQorCisoZGVmY29uc3QgZW1hY3NjbGllbnQtdGVzdC1lbWFjcworICAoZXhwYW5kLWZpbGUtbmFt ZSAiZW1hY3NjbGllbnQiIChjb25jYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZpbGUtbmFtZS1kaXJlY3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChkaXJlY3RvcnktZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGZpbGUtbmFtZS1kaXJlY3RvcnkgaW52b2NhdGlvbi1kaXJlY3RvcnkpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYi1zcmMiKSkKKyAgIlBhdGggdG8gZW1h Y3NjbGllbnQgYmluYXJ5IGluIGJ1aWxkIHRyZWUuIikKKworKGVydC1kZWZ0ZXN0IGVtYWNzY2xp ZW50LXRlc3QtYWx0ZXJuYXRlLWVkaXRvci1hbGxvd3MtYXJndW1lbnRzICgpCisgIChsZXQgKHBy b2Nlc3MtZW52aXJvbm1lbnQgcHJvY2Vzcy1lbnZpcm9ubWVudCkKKyAgICAoc2V0ZW52ICJBTFRF Uk5BVEVfRURJVE9SIiAoY29uY2F0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChl eHBhbmQtZmlsZS1uYW1lIGludm9jYXRpb24tbmFtZSBpbnZvY2F0aW9uLWRpcmVjdG9yeSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAtLWJhdGNoIikpCisgICAgKHNob3VsZCAo PSAwIChjYWxsLXByb2Nlc3MgZW1hY3NjbGllbnQtdGVzdC1lbWFjcyBuaWwgbmlsIG5pbCAiZm9v IikpKSkpCisKKyhlcnQtZGVmdGVzdCBlbWFjc2NsaWVudC10ZXN0LWFsdGVybmF0ZS1lZGl0b3It YWxsb3dzLXF1b3RlcyAoKQorICAobGV0IChwcm9jZXNzLWVudmlyb25tZW50IHByb2Nlc3MtZW52 aXJvbm1lbnQpCisgICAgKHNldGVudiAiQUxURVJOQVRFX0VESVRPUiIgKGNvbmNhdAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiXCIiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChleHBhbmQtZmlsZS1uYW1lIGludm9jYXRpb24tbmFtZSBpbnZvY2F0aW9uLWRpcmVj dG9yeSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwiIiAiIC0tYmF0Y2giKSkK KyAgICAoc2hvdWxkICg9IDAgKGNhbGwtcHJvY2VzcyBlbWFjc2NsaWVudC10ZXN0LWVtYWNzIG5p bCBuaWwgbmlsICJmb28iKSkpKSkKKworKHByb3ZpZGUgJ2VtYWNzY2xpZW50LXRlc3RzKQorOzs7 IGVtYWNzY2xpZW50LXRlc3RzLmVsIGVuZHMgaGVyZQotLSAKMi43LjQKCg== --001a113ce08c89a57a0557ebf19a--