bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ANN: ncurses-6.0-20170624


From: Allen Hewes
Subject: Re: ANN: ncurses-6.0-20170624
Date: Mon, 26 Jun 2017 03:31:31 +0000

On 6/25/2017 19:35, Thomas Dickey wrote:
> On Sun, Jun 25, 2017 at 07:03:34PM -0400, Thomas Dickey wrote:
>> Actually, just reading the configure options in your previous mail, I didn't
>> see (yet) a significant difference between your/my configurations.  But 
>> today I
>> added a test-script with your settings, and given TERM=unknown, can see a
>> problem to investigate (perhaps the one that your traceback/report shows).
> 
> For example, getting rid of the "free(TCB)" calls fixes the problem
> which I can see:
> 
> diff -u -r1.56 tinfo_driver.c
> --- tinfo_driver.c      2017/06/24 19:54:16     1.56
> +++ tinfo_driver.c      2017/06/25 23:24:31
> @@ -214,17 +214,17 @@
>              || (VALID_STRING(cursor_down) && VALID_STRING(cursor_home)))
>             && VALID_STRING(clear_screen)) {
>             _nc_free_termtype2(&TerminalType(termp));
> -           free(TCB);
> +           //free(TCB);
>             ret_error1(TGETENT_YES, "terminal is not really generic.\n", 
> tname);
>         } else {
>             _nc_free_termtype2(&TerminalType(termp));
> -           free(TCB);
> +           //free(TCB);
>             ret_error1(TGETENT_NO, "I need something more specific.\n", 
> tname);
>         }
>      }
>      if (hard_copy) {
>         _nc_free_termtype2(&TerminalType(termp));
> -       free(TCB);
> +       //free(TCB);
>         ret_error1(TGETENT_YES, "I can't handle hardcopy terminals.\n", 
> tname);
>      }
> 

Thomas,

This patch does it for me, > gdbt.exe --tui loads without error now. I
build two gdb binaries; a plain one gdb.exe and one with TUI gdbt.exe.
Thanks again for the help!

Now I'm going to try to update gdb to 8.0. Fingers crossed.

/allen

diff -Nuarp ncurses-6.0-20170624.a/ncurses/tinfo/lib_setup.c
ncurses-6.0-20170624.b/ncurses/tinfo/lib_setup.c
--- ncurses-6.0-20170624.a/ncurses/tinfo/lib_setup.c    2017-06-24
15:10:43.000000000 -0400
+++ ncurses-6.0-20170624.b/ncurses/tinfo/lib_setup.c    2017-06-25
21:22:50.892120200 -0400
@@ -721,8 +721,8 @@ TINFO_SETUP_TERM(TERMINAL **tp,
            termp->Filedes = (short) Filedes;
            termp->_termname = strdup(tname);
        } else {
-           _nc_free_termtype2(&TerminalType(termp));
-           free(my_tcb);
+//         _nc_free_termtype2(&TerminalType(termp));
+//         free(my_tcb);
            ret_error0(errret ? *errret : TGETENT_ERR,
                       "Could not find any driver to handle this terminal.\n");
        }
diff -Nuarp ncurses-6.0-20170624.a/ncurses/tinfo/tinfo_driver.c
ncurses-6.0-20170624.b/ncurses/tinfo/tinfo_driver.c
--- ncurses-6.0-20170624.a/ncurses/tinfo/tinfo_driver.c 2017-06-24
15:54:16.000000000 -0400
+++ ncurses-6.0-20170624.b/ncurses/tinfo/tinfo_driver.c 2017-06-25
20:02:27.947670300 -0400
@@ -214,18 +214,27 @@ drv_CanHandle(TERMINAL_CONTROL_BLOCK * T
             || (VALID_STRING(cursor_down) && VALID_STRING(cursor_home)))
            && VALID_STRING(clear_screen)) {
            _nc_free_termtype2(&TerminalType(termp));
-           free(TCB);
+//         free(TCB);
+#if NCURSES_EXT_NUMBERS
+                       _nc_free_termtype(&termp->type);
+#endif
            ret_error1(TGETENT_YES, "terminal is not really generic.\n", tname);
        } else {
            _nc_free_termtype2(&TerminalType(termp));
-           free(TCB);
+//         free(TCB);
+#if NCURSES_EXT_NUMBERS
+                       _nc_free_termtype(&termp->type);
+#endif
            ret_error1(TGETENT_NO, "I need something more specific.\n", tname);
        }
     }
     if (hard_copy) {
-       _nc_free_termtype2(&TerminalType(termp));
-       free(TCB);
-       ret_error1(TGETENT_YES, "I can't handle hardcopy terminals.\n", tname);
+                       _nc_free_termtype2(&TerminalType(termp));
+//                     free(TCB);
+#if NCURSES_EXT_NUMBERS
+                       _nc_free_termtype(&termp->type);
+#endif
+                       ret_error1(TGETENT_YES, "I can't handle hardcopy 
terminals.\n", tname);
     }

     returnBool(result);

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]