[comp.unix.ultrix] curses problem

suresh@cat.enet.dec.com (Suresh Subramanian) (08/04/90)

 System calls like read and write, when interrupted after the signal
handler function is
 done, return a value < 0 and put EINTR into errno. But getch and wgetch
routines from
 curses when interrupted return from signal handler,  and wait for user input.

 Does anyone know how to make getch or wgetch to return to the program
after the 
 interrupt rather than waiting for user input.

 BTW I am using Xopen curses under V4.0 of Ultrix.

 Thanks in advance

 Regards
 Suresh

marvil@boulder.colorado.edu (Rebecca Marvil) (11/17/90)

I have been having trouble porting a program which
uses curses, from a MIPS M-2000 running RISC-OS 4.51 
(Berkeley environment) to a DEC station 3100 running 
Ultrix 4.0.

Throughout the program I use wmove() and waddstr()
to print a string to the specified location in the
specified window.  All of these function calls work
fine on the MIPS, but on the DEC, occasionally the
wmove() will not move the logical cursor where I 
specify, and thus the waddstr() function prints the
string in the wrong location.  This only happens when
the x argument to wmove() is 0, yet it doesn't happen for
all values of y.  In other words, calling wmove(datawin,5,0)
may work just fine, but wmove(datawin,6,0) won't.  When
it doesn't work right, it ALWAYS moves the logical cursor
to the previous line, in the last column.  So, in the above
example, the wmove(datawin,6,0) would put the logical cursor
at (5,79) - assuming the window is 80 columns wide.

NOTE: If I never print anything to the last column of the 
window, the program works fine.

If anyone has any suggestions that might help with this
problem, they would be most appreciated.


Becky Marvil        marvil@boulder.colorado.edu
MCD Biology
Univ. of Colorado
Boulder, CO 80309
303-492-5938