Files
Arquivotheca.SunOS-4.1.4/usr.etc/suninstall/libmenu/ask_num.c
seta75D ff309bfe1c Init
2021-10-11 18:37:13 -03:00

69 lines
1.0 KiB
C

#ifndef lint
static char sccsid[] = "@(#)ask_num.c 1.1 94/10/31 SMI";
#endif lint
/*
* Name: menu_ask_num()
*
* Description: Print get imput for a number, and don't let anthing
* else pass
*
* Return value: the digit typed in (as a char)
*/
#include <curses.h>
#include "menu.h"
#include "menu_impl.h"
char
menu_ask_num(x, y)
int x,y; /* location to put ? */
{
char ch = 0; /* the char that was read */
char ch1 = 0; /* the char that was read */
int done = 0; /* are we done yet? */
move(y, x);
refresh();
while (!done) {
ch1 = read_menu_char();
switch (ch1) {
case '\n':
case '\r':
if (isdigit(ch))
done = 1;
break;
case CERASE:
/*
* If no characters pressed then break
*/
if (ch == 0)
break;
ch = 0;
mvaddch(y, x, ' ');
break;
default:
if (isdigit(ch1)) {
ch = ch1;
mvaddch(y, x, ch);
} else {
ch = 0;
break;
}
} /* end switch() */
move(y, x);
refresh();
}
return(ch);
} /* menu_ask_num() */