version 1.22, 2006/10/12 17:20:12 |
version 1.23, 2006/11/09 21:47:52 |
|
|
/* |
/* |
* rcs_yesno() |
* rcs_yesno() |
* |
* |
* Read from standart input for `y' or `Y' character. |
* Read a char from standard input, returns defc if the |
* Returns 0 on success, or -1 on failure. |
* user enters an equivalent to defc, else whatever char |
|
* was entered. Converts input to lower case. |
*/ |
*/ |
int |
int |
rcs_yesno(void) |
rcs_yesno(int defc) |
{ |
{ |
int c, ret; |
int c, ret; |
|
|
ret = 0; |
|
|
|
fflush(stderr); |
fflush(stderr); |
fflush(stdout); |
fflush(stdout); |
|
|
if ((c = getchar()) != 'y' && c != 'Y') |
if (isalpha(c = getchar())) |
ret = -1; |
c = tolower(c); |
|
if (c == defc || c == '\n' || (c == EOF && feof(stdin))) |
|
ret = defc; |
else |
else |
while (c != EOF && c != '\n') |
ret = c; |
c = getchar(); |
|
|
while (c != EOF && c != '\n') |
|
c = getchar(); |
|
|
return (ret); |
return (ret); |
} |
} |