From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id WLMvLqYk2mPT9yYAWB0awg (envelope-from ) for ; Wed, 01 Feb 2023 03:36:54 -0500 Received: by simark.ca (Postfix, from userid 112) id B177C1E128; Wed, 1 Feb 2023 03:36:54 -0500 (EST) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=cir2yh3x; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-8.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id DE5771E0D3 for ; Wed, 1 Feb 2023 03:36:53 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D1807385841E for ; Wed, 1 Feb 2023 08:36:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D1807385841E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1675240612; bh=xTKO4Vebb819UwmOHQY8GqctlsHP4lfvzJkVX4cqkDE=; h=References:In-Reply-To:Date:Subject:To:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=cir2yh3xaiuos53jFf4/3HfAt6xb1d8hOsxxqjae8mu2pKNzqKgw6gaufk+3eQBin yovngdxtexW0T/KMeU1H5/yDQmzzSRhvvDGwiyi4Kx/+/tdoTXPK2CcbT+EDGsEfih O2usUYMb4ngZvWkbDFowyuMHIFnWe8Ezpdi3ZtxM= Received: from mail-oi1-x236.google.com (mail-oi1-x236.google.com [IPv6:2607:f8b0:4864:20::236]) by sourceware.org (Postfix) with ESMTPS id C332B3858D38 for ; Wed, 1 Feb 2023 08:35:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C332B3858D38 Received: by mail-oi1-x236.google.com with SMTP id dt8so12015170oib.0 for ; Wed, 01 Feb 2023 00:35:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=xTKO4Vebb819UwmOHQY8GqctlsHP4lfvzJkVX4cqkDE=; b=lVRjTK9IDc6UIT2YDsi/I8qlV5gpBFEzvEWkbTwVBA/VPfcy81H5iVKjSR67ze25C8 VwrcWRdMwIEfWu9ptbumYKdXNqSRLo00kMHhsInDOTx6Wbj2vFxo9LltE3g378UMc772 XLbt2pcPMReMGa2GPzbplmjFBUE7WRItDeMb9u8/Ebynq4plHskwT5yJ+wD8zfgbqJbe +qp8APYVbHIGvQRL8ngZS/2sHWfzB9ryYY7EnYyv4yzGWmwvpkUImkMwA/6RGQrshM/I 69OkQhXr1NF77YSPvvrzPq9/MbFmtxCEoW+agCmImDzAIUql6rfaQ+Q+jpGa0Xl7SDca MqDw== X-Gm-Message-State: AO0yUKXU4rnFOlwkfjHbYArM0XLfl1P4a17kcvFZPSHGe1jz9MqHWmmh WVkaQqKgdEDskgxwsZ1RaOjv7+6pxLqvE4IE5mGb5OirDSg= X-Google-Smtp-Source: AK7set8p+DhAsKo8tPofZ75KwWzLI4qvRW1KX5SOcP/o2yetCXPDXO4933jr862CfmKbhVpZUA71QrmWDI8zjohFNpI= X-Received: by 2002:aca:1308:0:b0:35e:65b9:2838 with SMTP id e8-20020aca1308000000b0035e65b92838mr124542oii.3.1675240558863; Wed, 01 Feb 2023 00:35:58 -0800 (PST) MIME-Version: 1.0 References: <838rhnawf9.fsf@gnu.org> In-Reply-To: <838rhnawf9.fsf@gnu.org> Date: Wed, 1 Feb 2023 00:35:47 -0800 Message-ID: Subject: Re: [PATCH] gdb/tui: add 'set tui mouse-events off' to restore mouse selection To: Eli Zaretskii Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary="0000000000006d077905f39f563f" X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: strager via Gdb-patches Reply-To: strager Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" --0000000000006d077905f39f563f Content-Type: text/plain; charset="UTF-8" Oops, I forgot to cc gdb-patches@. > Instead of talking about overriding the terminal's behavior, this text > should say that the mouse events are interpreted either by GDB or by > the terminal. Thanks for the feedback. I removed the duplicate copy of 'set tui compact-source' documentation. I rewrote the 'set tui mouse-events' documentation to avoid mentioning 'overriding'. I also fixed a typo in the 'show tui mouse-events' command and fixed a typo in the commit message (see attached). --- gdb/NEWS | 6 ++++++ gdb/doc/gdb.texinfo | 6 ++++++ gdb/tui/tui-io.c | 3 ++- gdb/tui/tui-win.c | 23 +++++++++++++++++++++++ gdb/tui/tui-win.h | 3 +++ 5 files changed, 40 insertions(+), 1 deletion(-) diff --git gdb/NEWS gdb/NEWS index 445d28efed9..21399e86caa 100644 --- gdb/NEWS +++ gdb/NEWS @@ -38,6 +38,12 @@ maintenance print record-instruction [ N ] prints how GDB would undo the N-th previous instruction, and if N is positive, it prints how GDB will redo the N-th following instruction. +set tui mouse-events [on|off] +show tui mouse-events + When on (default), mouse clicks control the TUI and can be accessed by + plugins. When off, mouse clicks are handled by the terminal. This enables + terminal-native text selection. + * MI changes ** mi now reports 'no-history' as a stop reason when hitting the end of the diff --git gdb/doc/gdb.texinfo gdb/doc/gdb.texinfo index 03033c7f9e3..02de9ad753a 100644 --- gdb/doc/gdb.texinfo +++ gdb/doc/gdb.texinfo @@ -29888,6 +29888,12 @@ source text at the next tab stop; the compact display uses only as much space as is needed for the line numbers in the current file, and only a single space to separate the line numbers from the source. +@item set tui mouse-events @r{[}on@r{|}off@r{]} +@kindex set tui mouse-events +When on (default), mouse clicks control the TUI and can be accessed by plugins. +When off, mouse clicks are handled by the terminal. This enables terminal-native +text selection. + @kindex set debug tui @item set debug tui @r{[}on|off@r{]} Turn on or off display of @value{GDBN} internal debug messages relating diff --git gdb/tui/tui-io.c gdb/tui/tui-io.c index a17cf38a1f2..45ef34aeab5 100644 --- gdb/tui/tui-io.c +++ gdb/tui/tui-io.c @@ -655,7 +655,8 @@ static void tui_prep_terminal (int notused1) { #ifdef NCURSES_MOUSE_VERSION - mousemask (ALL_MOUSE_EVENTS, NULL); + if (tui_enable_mouse) + mousemask (ALL_MOUSE_EVENTS, NULL); #endif } diff --git gdb/tui/tui-win.c gdb/tui/tui-win.c index 008189eb99b..d7124592ca4 100644 --- gdb/tui/tui-win.c +++ gdb/tui/tui-win.c @@ -897,6 +897,17 @@ tui_show_compact_source (struct ui_file *file, int from_tty, gdb_printf (file, _("TUI source window compactness is %s.\n"), value); } +bool tui_enable_mouse = true; + +/* Implement 'show tui mouse-events'. */ + +static void +show_tui_mouse_events (struct ui_file *file, int from_tty, + struct cmd_list_element *c, const char *value) +{ + gdb_printf (file, _("TUI mouse events are %s.\n"), value); +} + /* Set the tab width of the specified window. */ static void tui_set_tab_width_command (const char *arg, int from_tty) @@ -1284,6 +1295,18 @@ position indicator is styled."), &style_set_list, &style_show_list); + add_setshow_boolean_cmd ("mouse-events", class_tui, + &tui_enable_mouse, _("\ +Set whether TUI mode handles mouse clicks."), _("\ +Show whether TUI mode handles mouse clicks."), _("\ +When on (default), mouse clicks control the TUI and can be accessed by plugins.\n\ +When off, mouse clicks are handled by the terminal. This enables terminal-native\n\ +text selection."), + + NULL, + show_tui_mouse_events, + &tui_setlist, &tui_showlist); + tui_border_style.changed.attach (tui_rehighlight_all, "tui-win"); tui_active_border_style.changed.attach (tui_rehighlight_all, "tui-win"); } diff --git gdb/tui/tui-win.h gdb/tui/tui-win.h index 4b33f1f2b54..039993fba34 100644 --- gdb/tui/tui-win.h +++ gdb/tui/tui-win.h @@ -51,6 +51,9 @@ struct cmd_list_element **tui_get_cmd_list (void); /* Whether compact source display should be used. */ extern bool compact_source; +/* Whether the TUI should intercept terminal mouse events. */ +extern bool tui_enable_mouse; + /* Whether to style the source and assembly code highlighted by the TUI's current position indicator. */ extern bool style_tui_current_position; -- 2.29.2 --0000000000006d077905f39f563f Content-Type: application/octet-stream; name="0001-gdb-tui-add-set-tui-mouse-events-off-to-restore-mous.patch" Content-Disposition: attachment; filename="0001-gdb-tui-add-set-tui-mouse-events-off-to-restore-mous.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ldleys4t0 RnJvbSAzZWU2YmM4YWQwYjVhYzE3NzI1MjMzYmE4OGFhNGQxMjE2N2RmNGY3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiTWF0dGhldyBcInN0cmFnZXJcIiBHbGF6YXIiIDxzdHJhZ2Vy Lm5kc0BnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjcgSmFuIDIwMjMgMTY6MTk6NDUgLTA4MDAKU3Vi amVjdDogW1BBVENIXSBnZGIvdHVpOiBhZGQgJ3NldCB0dWkgbW91c2UtZXZlbnRzIG9mZicgdG8g cmVzdG9yZSBtb3VzZQogc2VsZWN0aW9uCgpSYXRpb25hbGU6CkkgdXNlIHRoZSBtb3VzZSB3aXRo IG15IHRlcm1pbmFsIHRvIHNlbGVjdCBhbmQgY29weSB0ZXh0LiBJbiBnZGIsIEkgdXNlCnRoZSBt b3VzZSB0byBzZWxlY3QgYSBmdW5jdGlvbiBuYW1lIHRvIHNldCBhIGJyZWFrcG9pbnQsIG9yIGEg dmFyaWFibGUKbmFtZSB0byBwcmludCwgZm9yIGV4YW1wbGUuCgpXaGVuIGdkYiBpcyBjb21waWxl ZCB3aXRoIG5jdXJzZXMgbW91c2Ugc3VwcG9ydCwgZ2RiJ3MgVFVJIG1vZGUKaW50ZXJjZXB0cyBt b3VzZSBldmVudHMuIExlZnQtY2xpY2tpbmcgYW5kIGRyYWdnaW5nLCB3aGljaCB3b3VsZApub3Jt YWxseSBzZWxlY3QgdGV4dCwgc2VlbXMgdG8gZG8gbm90aGluZy4gVGhpcyBtZWFucyBJIGNhbm5v dCBzZWxlY3QKdGV4dCB1c2luZyBteSBtb3VzZSBhbnltb3JlLiBUaGlzIG1ha2VzIGl0IGhhcmRl ciB0byBzZXQgYnJlYWtwb2ludHMsCnByaW50IHZhcmlhYmxlcywgZXRjLgoKU29sdXRpb246Ckkg dHJpZWQgdG8gZml4IHRoaXMgaXNzdWUgYnkgZWRpdGluZyB0aGUgJ21vdXNlbWFzaycgY2FsbCB0 byBvbmx5IGVuYWJsZQpidXR0b25zIDQgYW5kIDUuIEhvd2V2ZXIsIHRoaXMgc3RpbGwgY2F1c2Vk IG15IHRlcm1pbmFsIChnbm9tZS10ZXJtaW5hbCkKdG8gbm90IGFsbG93IHRleHQgdG8gYmUgc2Vs ZWN0ZWQuIFRoZSBvbmx5IHdheSBJIGNvdWxkIG1ha2UgaXQgd29yayBpcwpieSBjYWxsaW5nICdt b3VzZW1hc2sgKDAsIE5VTEwpOycuIEJ1dCBkb2luZyBzbyBkaXNhYmxlcyB0aGUgbW91c2UgY29k ZQplbnRpcmVseSwgd2hpY2ggb3RoZXIgcGVvcGxlIG1pZ2h0IHdhbnQuCgpJIHRoZXJlZm9yZSBk ZWNpZGVkIHRvIG1ha2UgYSBzZXR0aW5nIGluIGdkYiBjYWxsZWQgJ3R1aSBtb3VzZS1ldmVudHMn LgpJZiBlbmFibGVkICh0aGUgZGVmYXVsdCksIHRoZSBiZWhhdmlvciBpcyBhcyBpdCBpcyBub3c6 IHRlcm1pbmFsIG1vdXNlCmV2ZW50cyBhcmUgZ2l2ZW4gdG8gZ2RiLCBkaXNhYmxpbmcgdGhlIHRl cm1pbmFsJ3MgZGVmYXVsdCBiZWhhdmlvci4KSWYgZGlzYWJsZWQgKG9wdC1pbiksIHRoZSBiZWhh dmlvciBpcyBhcyBpdCB3YXMgYmVmb3JlIHRoZSB5ZWFyIDIwMjA6CnRlcm1pbmFsIG1vdXNlIGV2 ZW50cyBhcmUgbm90IGdpdmVuIHRvIGdkYiwgdGhlcmVmb3JlIHRoZSBtb3VzZSBjYW4gYmUKdXNl ZCB0byBzZWxlY3QgYW5kIGNvcHkgdGV4dC4KCk5vdGVzOgpJIGFtIG5vdCBhdHRhY2hlZCB0byB0 aGUgc2V0dGluZyBuYW1lIG9yIGl0cyBkZXNjcmlwdGlvbi4gRmVlbCBmcmVlIHRvCnN1Z2dlc3Qg YmV0dGVyIHdvcmRpbmcuCgpUZXN0aW5nOgpJIHRlc3RlZCB0aGlzIGNoYW5nZSBpbiBnbm9tZS10 ZXJtaW5hbCBieSBwZXJmb3JtaW5nIHRoZSBmb2xsb3dpbmcgc3RlcHMKbWFudWFsbHk6CgoxLiBS dW46IGdkYiAtLWFyZ3MgLi9teXByb2dyYW0KMi4gRW5hYmxlIFRVSTogcHJlc3MgY3RybC14IGN0 cmwtYQozLiBDbGljayBhbmQgZHJhZyB0ZXh0IHdpdGggdGhlIG1vdXNlLiBPYnNlcnZlIG5vIHNl bGVjdGlvbi4KNC4gSW5wdXQ6IHNldCB0dWkgbW91c2UtZXZlbnRzIG9mZgo1LiBDbGljayBhbmQg ZHJhZyB0ZXh0IHdpdGggdGhlIG1vdXNlLiBPYnNlcnZlIHRoYXQgc2VsZWN0aW9uIHdvcmtzIG5v dy4KNi4gSW5wdXQ6IHNldCB0dWkgbW91c2UtZXZlbnRzIG9uLgo3LiBDbGljayBhbmQgZHJhZyB0 ZXh0IHdpdGggdGhlIG1vdXNlIE9ic2VydmUgbm8gc2VsZWN0aW9uLgotLS0KIGdkYi9ORVdTICAg ICAgICAgICAgfCAgNiArKysrKysKIGdkYi9kb2MvZ2RiLnRleGluZm8gfCAgNiArKysrKysKIGdk Yi90dWkvdHVpLWlvLmMgICAgfCAgMyArKy0KIGdkYi90dWkvdHVpLXdpbi5jICAgfCAyMyArKysr KysrKysrKysrKysrKysrKysrKwogZ2RiL3R1aS90dWktd2luLmggICB8ICAzICsrKwogNSBmaWxl cyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGdk Yi9ORVdTIGdkYi9ORVdTCmluZGV4IDQ0NWQyOGVmZWQ5Li4yMTM5OWU4NmNhYSAxMDA2NDQKLS0t IGdkYi9ORVdTCisrKyBnZGIvTkVXUwpAQCAtMzgsNiArMzgsMTIgQEAgbWFpbnRlbmFuY2UgcHJp bnQgcmVjb3JkLWluc3RydWN0aW9uIFsgTiBdCiAgIHByaW50cyBob3cgR0RCIHdvdWxkIHVuZG8g dGhlIE4tdGggcHJldmlvdXMgaW5zdHJ1Y3Rpb24sIGFuZCBpZiBOIGlzCiAgIHBvc2l0aXZlLCBp dCBwcmludHMgaG93IEdEQiB3aWxsIHJlZG8gdGhlIE4tdGggZm9sbG93aW5nIGluc3RydWN0aW9u LgogCitzZXQgdHVpIG1vdXNlLWV2ZW50cyBbb258b2ZmXQorc2hvdyB0dWkgbW91c2UtZXZlbnRz CisgIFdoZW4gb24gKGRlZmF1bHQpLCBtb3VzZSBjbGlja3MgY29udHJvbCB0aGUgVFVJIGFuZCBj YW4gYmUgYWNjZXNzZWQgYnkKKyAgcGx1Z2lucy4gIFdoZW4gb2ZmLCBtb3VzZSBjbGlja3MgYXJl IGhhbmRsZWQgYnkgdGhlIHRlcm1pbmFsLiAgVGhpcyBlbmFibGVzCisgIHRlcm1pbmFsLW5hdGl2 ZSB0ZXh0IHNlbGVjdGlvbi4KKwogKiBNSSBjaGFuZ2VzCiAKICoqIG1pIG5vdyByZXBvcnRzICdu by1oaXN0b3J5JyBhcyBhIHN0b3AgcmVhc29uIHdoZW4gaGl0dGluZyB0aGUgZW5kIG9mIHRoZQpk aWZmIC0tZ2l0IGdkYi9kb2MvZ2RiLnRleGluZm8gZ2RiL2RvYy9nZGIudGV4aW5mbwppbmRleCAw MzAzM2M3ZjllMy4uMDJkZTlhZDc1M2EgMTAwNjQ0Ci0tLSBnZGIvZG9jL2dkYi50ZXhpbmZvCisr KyBnZGIvZG9jL2dkYi50ZXhpbmZvCkBAIC0yOTg4OCw2ICsyOTg4OCwxMiBAQCBzb3VyY2UgdGV4 dCBhdCB0aGUgbmV4dCB0YWIgc3RvcDsgdGhlIGNvbXBhY3QgZGlzcGxheSB1c2VzIG9ubHkgYXMK IG11Y2ggc3BhY2UgYXMgaXMgbmVlZGVkIGZvciB0aGUgbGluZSBudW1iZXJzIGluIHRoZSBjdXJy ZW50IGZpbGUsIGFuZAogb25seSBhIHNpbmdsZSBzcGFjZSB0byBzZXBhcmF0ZSB0aGUgbGluZSBu dW1iZXJzIGZyb20gdGhlIHNvdXJjZS4KIAorQGl0ZW0gc2V0IHR1aSBtb3VzZS1ldmVudHMgQHJ7 W31vbkBye3x9b2ZmQHJ7XX0KK0BraW5kZXggc2V0IHR1aSBtb3VzZS1ldmVudHMKK1doZW4gb24g KGRlZmF1bHQpLCBtb3VzZSBjbGlja3MgY29udHJvbCB0aGUgVFVJIGFuZCBjYW4gYmUgYWNjZXNz ZWQgYnkgcGx1Z2lucy4KK1doZW4gb2ZmLCBtb3VzZSBjbGlja3MgYXJlIGhhbmRsZWQgYnkgdGhl IHRlcm1pbmFsLiBUaGlzIGVuYWJsZXMgdGVybWluYWwtbmF0aXZlCit0ZXh0IHNlbGVjdGlvbi4K KwogQGtpbmRleCBzZXQgZGVidWcgdHVpCiBAaXRlbSBzZXQgZGVidWcgdHVpIEBye1t9b258b2Zm QHJ7XX0KIFR1cm4gb24gb3Igb2ZmIGRpc3BsYXkgb2YgQHZhbHVle0dEQk59IGludGVybmFsIGRl YnVnIG1lc3NhZ2VzIHJlbGF0aW5nCmRpZmYgLS1naXQgZ2RiL3R1aS90dWktaW8uYyBnZGIvdHVp L3R1aS1pby5jCmluZGV4IGExN2NmMzhhMWYyLi40NWVmMzRhZWFiNSAxMDA2NDQKLS0tIGdkYi90 dWkvdHVpLWlvLmMKKysrIGdkYi90dWkvdHVpLWlvLmMKQEAgLTY1NSw3ICs2NTUsOCBAQCBzdGF0 aWMgdm9pZAogdHVpX3ByZXBfdGVybWluYWwgKGludCBub3R1c2VkMSkKIHsKICNpZmRlZiBOQ1VS U0VTX01PVVNFX1ZFUlNJT04KLSAgbW91c2VtYXNrIChBTExfTU9VU0VfRVZFTlRTLCBOVUxMKTsK KyAgaWYgKHR1aV9lbmFibGVfbW91c2UpCisgICAgbW91c2VtYXNrIChBTExfTU9VU0VfRVZFTlRT LCBOVUxMKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgZ2RiL3R1aS90dWktd2luLmMgZ2RiL3R1 aS90dWktd2luLmMKaW5kZXggMDA4MTg5ZWI5OWIuLmQ3MTI0NTkyY2E0IDEwMDY0NAotLS0gZ2Ri L3R1aS90dWktd2luLmMKKysrIGdkYi90dWkvdHVpLXdpbi5jCkBAIC04OTcsNiArODk3LDE3IEBA IHR1aV9zaG93X2NvbXBhY3Rfc291cmNlIChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSwgaW50IGZyb21f dHR5LAogICBnZGJfcHJpbnRmIChmaWxlLCBfKCJUVUkgc291cmNlIHdpbmRvdyBjb21wYWN0bmVz cyBpcyAlcy5cbiIpLCB2YWx1ZSk7CiB9CiAKK2Jvb2wgdHVpX2VuYWJsZV9tb3VzZSA9IHRydWU7 CisKKy8qIEltcGxlbWVudCAnc2hvdyB0dWkgbW91c2UtZXZlbnRzJy4gICovCisKK3N0YXRpYyB2 b2lkCitzaG93X3R1aV9tb3VzZV9ldmVudHMgKHN0cnVjdCB1aV9maWxlICpmaWxlLCBpbnQgZnJv bV90dHksCisJCSAgICAgICBzdHJ1Y3QgY21kX2xpc3RfZWxlbWVudCAqYywgY29uc3QgY2hhciAq dmFsdWUpCit7CisgIGdkYl9wcmludGYgKGZpbGUsIF8oIlRVSSBtb3VzZSBldmVudHMgYXJlICVz LlxuIiksIHZhbHVlKTsKK30KKwogLyogU2V0IHRoZSB0YWIgd2lkdGggb2YgdGhlIHNwZWNpZmll ZCB3aW5kb3cuICAqLwogc3RhdGljIHZvaWQKIHR1aV9zZXRfdGFiX3dpZHRoX2NvbW1hbmQgKGNv bnN0IGNoYXIgKmFyZywgaW50IGZyb21fdHR5KQpAQCAtMTI4NCw2ICsxMjk1LDE4IEBAIHBvc2l0 aW9uIGluZGljYXRvciBpcyBzdHlsZWQuIiksCiAJCQkgICAmc3R5bGVfc2V0X2xpc3QsCiAJCQkg ICAmc3R5bGVfc2hvd19saXN0KTsKIAorICBhZGRfc2V0c2hvd19ib29sZWFuX2NtZCAoIm1vdXNl LWV2ZW50cyIsIGNsYXNzX3R1aSwKKwkJCSAgICZ0dWlfZW5hYmxlX21vdXNlLCBfKCJcCitTZXQg d2hldGhlciBUVUkgbW9kZSBoYW5kbGVzIG1vdXNlIGNsaWNrcy4iKSwgXygiXAorU2hvdyB3aGV0 aGVyIFRVSSBtb2RlIGhhbmRsZXMgbW91c2UgY2xpY2tzLiIpLCBfKCJcCitXaGVuIG9uIChkZWZh dWx0KSwgbW91c2UgY2xpY2tzIGNvbnRyb2wgdGhlIFRVSSBhbmQgY2FuIGJlIGFjY2Vzc2VkIGJ5 IHBsdWdpbnMuXG5cCitXaGVuIG9mZiwgbW91c2UgY2xpY2tzIGFyZSBoYW5kbGVkIGJ5IHRoZSB0 ZXJtaW5hbC4gVGhpcyBlbmFibGVzIHRlcm1pbmFsLW5hdGl2ZVxuXAordGV4dCBzZWxlY3Rpb24u IiksCisKKwkJCSAgIE5VTEwsCisJCQkgICBzaG93X3R1aV9tb3VzZV9ldmVudHMsCisJCQkgICAm dHVpX3NldGxpc3QsICZ0dWlfc2hvd2xpc3QpOworCiAgIHR1aV9ib3JkZXJfc3R5bGUuY2hhbmdl ZC5hdHRhY2ggKHR1aV9yZWhpZ2hsaWdodF9hbGwsICJ0dWktd2luIik7CiAgIHR1aV9hY3RpdmVf Ym9yZGVyX3N0eWxlLmNoYW5nZWQuYXR0YWNoICh0dWlfcmVoaWdobGlnaHRfYWxsLCAidHVpLXdp biIpOwogfQpkaWZmIC0tZ2l0IGdkYi90dWkvdHVpLXdpbi5oIGdkYi90dWkvdHVpLXdpbi5oCmlu ZGV4IDRiMzNmMWYyYjU0Li4wMzk5OTNmYmEzNCAxMDA2NDQKLS0tIGdkYi90dWkvdHVpLXdpbi5o CisrKyBnZGIvdHVpL3R1aS13aW4uaApAQCAtNTEsNiArNTEsOSBAQCBzdHJ1Y3QgY21kX2xpc3Rf ZWxlbWVudCAqKnR1aV9nZXRfY21kX2xpc3QgKHZvaWQpOwogLyogV2hldGhlciBjb21wYWN0IHNv dXJjZSBkaXNwbGF5IHNob3VsZCBiZSB1c2VkLiAgKi8KIGV4dGVybiBib29sIGNvbXBhY3Rfc291 cmNlOwogCisvKiBXaGV0aGVyIHRoZSBUVUkgc2hvdWxkIGludGVyY2VwdCB0ZXJtaW5hbCBtb3Vz ZSBldmVudHMuICAqLworZXh0ZXJuIGJvb2wgdHVpX2VuYWJsZV9tb3VzZTsKKwogLyogV2hldGhl ciB0byBzdHlsZSB0aGUgc291cmNlIGFuZCBhc3NlbWJseSBjb2RlIGhpZ2hsaWdodGVkIGJ5IHRo ZSBUVUkncwogICAgY3VycmVudCBwb3NpdGlvbiBpbmRpY2F0b3IuICAqLwogZXh0ZXJuIGJvb2wg c3R5bGVfdHVpX2N1cnJlbnRfcG9zaXRpb247Ci0tIAoyLjI5LjIKCg== --0000000000006d077905f39f563f--