[Top][All Lists]

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

RE: Bug(let) in tack-1.06

From: Schmitz, Joachim
Subject: RE: Bug(let) in tack-1.06
Date: Thu, 24 Feb 2011 14:13:37 +0000

Hi again


Just found tack-1.07 on ftp://invisible-island.net/ncurses/, this is not available on http://ftp.gnu.org/pub/gnu/ncurses/


It has the same issues as described earlier though.


Bye, Jojo


From: Schmitz, Joachim
Sent: Thursday, February 24, 2011 2:33 PM
To: 'address@hidden'
Subject: Bug(let) in tack-1.06


Hi there


In tack-1.06/output.c I encountered a warning reg. a pointless comparison of an unsigned value vs. EOF, and found that this is due to the fact that chat is unsigned on my platform (as on many others too). Here’s the patch I came up with:


--- ./output.c.orig     2007-04-29 18:18:46.000000000 -0500

+++ ./output.c  2011-02-23 13:00:12.000000000 -0600

@@ -718,8 +718,8 @@




-       char ch, cc[64];

-       char message[16];

+       signed char ch;

+       char cc[64], message[16];

        int i, j;


        for (i = 0; i < (int) sizeof(cc); i++) {



Maybe int whould have been a better choice, not sure.


Furtermore tack.h #include’s <curses.h>, on my system this is in /usr/local/bin/ncurses/curses.h (and is version 5.7). ‘configure’ detects this properly, but apparently forgets to add “-I/usr/local/include/ncurses” to CFLAGS (or some such) in Makefile. Not sure how to properly fix that, I just called

make CFLAGS=“-I/usr/local/include/ncurses”


For config.guess and config.sub (in both, ncurses-5.7 and tack-1.06) there are newer version that do detect my platform (nse-tandem-nsk) properly, so you may want to upgrade to the latest.


For ncurses-5.7 I needed this patch (as on this platform the superuser is not UID 0, but 65535):

diff -u ./ncurses/tinfo/access.c.orig ./ncurses/tinfo/access.c

--- ./ncurses/tinfo/access.c.orig       2007-11-17 18:57:53.000000000 -0600

+++ ./ncurses/tinfo/access.c    2011-02-22 10:43:19.000000000 -0600

@@ -171,6 +171,10 @@

        || getgid() != getegid())

        return FALSE;


+#ifdef __TANDEM

+    return getuid() != 65535 && geteuid() != 65535;    /* ...finally, disallow

root */


     return getuid() != 0 && geteuid() != 0;    /* ...finally, disallow root */






Joachim Schmitz

reply via email to

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