[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: putp in non-screen app
From: |
Thomas Dickey |
Subject: |
Re: putp in non-screen app |
Date: |
Fri, 20 Nov 2009 17:56:46 -0500 (EST) |
On Fri, 20 Nov 2009, Charles Wilson wrote:
With --enable-sp-funcs, it appears that putp can't be used in non-screen
apps anymore (such as tput.exe).
This is because, when NCURSES_SP_FUNCS, putp is;
NCURSES_EXPORT(int)
putp(const char *string)
{
return NCURSES_SP_NAME(putp) (CURRENT_SCREEN, string);
perhaps that should be CURRENT_SCREEN_PRE, which covers cases like this.
}
So, to use putp, you need to call initscr() (and possibly various other
setup functions) when NCURSES_SP_FUNCS. However, the man page for putp
only says you need to call setupterm().
Is this change in the behavior/requirements of putp intended (when
--enable-sp-funcs), or is this a bug? If it is intended, then tput
It's a bug - now that I have everything in one source, I'm intending to
work through things like this. (Bugs in the non-sp-funcs "original"
flavor do get higher priority, of course).
needs the following change (or something similar):
--- progs/tput.c 2009-10-26 17:49:12.971112200 -0400
+++ progs/tput.c 2009-11-20 13:14:16.700000000 -0500
@@ -345,8 +345,7 @@ tput(int argc, char *argv[])
}
}
- /* use putp() in order to perform padding */
- putp(s);
+ tputs(s, 1, putchar);
that looks like it's in the right direction, though it's preferable to
make the library entrypoints behave the same (will see).
--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net