summaryrefslogtreecommitdiffstats
path: root/sbin/restore/utilities.c
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2000-12-12 12:04:02 +0000
committeriedowse <iedowse@FreeBSD.org>2000-12-12 12:04:02 +0000
commita507515e083a208609badf2032b1cf4a61571fc5 (patch)
tree94a9260b8ef2a70ef3a47ebefed8a70ab8b5ea54 /sbin/restore/utilities.c
parent513cdb008249fa2a1faeb31a407c87138df1cd2b (diff)
downloadFreeBSD-src-a507515e083a208609badf2032b1cf4a61571fc5.zip
FreeBSD-src-a507515e083a208609badf2032b1cf4a61571fc5.tar.gz
Stop restore from looping under certain error conditions. This
corrects cases where restore would spew an infinite stream of "Changing volumes on pipe input?" messages, or would loop waiting for a response to the "set owner/mode for '.'" question. PR: bin/14250 Reviewed by: dwmalone
Diffstat (limited to 'sbin/restore/utilities.c')
-rw-r--r--sbin/restore/utilities.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sbin/restore/utilities.c b/sbin/restore/utilities.c
index b51f90c..b7681f7 100644
--- a/sbin/restore/utilities.c
+++ b/sbin/restore/utilities.c
@@ -405,14 +405,14 @@ int
reply(question)
char *question;
{
- char c;
+ int c;
do {
fprintf(stderr, "%s? [yn] ", question);
(void) fflush(stderr);
c = getc(terminal);
while (c != '\n' && getc(terminal) != '\n')
- if (feof(terminal))
+ if (c == EOF)
return (FAIL);
} while (c != 'y' && c != 'n');
if (c == 'y')
OpenPOWER on IntegriCloud