Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.4 KiB

2 years ago
/*
* Copyright(C) 1999-2020 National Technology & Engineering Solutions
* of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
* NTESS, the U.S. Government retains certain rights in this software.
*
* See packages/seacas/LICENSE for details
*/
#include "defs.h"
#include <ctype.h>
#include <stdio.h>
#include <string.h>
/* Record a return TRUE if answer is yes, FALSE if no. */
int affirm(char *prompt)
{
int reply; /* character typed in */
int done; /* loop control */
void bail(char *msg, int status);
if (prompt != NULL && (int)strlen(prompt) > 0) {
printf("%s? ", prompt);
}
done = 0;
while (!done) {
reply = getchar();
/* while (reply == ' ' || reply== '\n') reply= getchar(); */
while (isspace(reply)) {
reply = getchar();
}
if (reply == 'y' || reply == 'Y') {
done = 1;
}
else if (reply == 'n' || reply == 'N') {
done = 2;
}
else if (reply == 'q' || reply == 'Q') {
done = 3;
}
else if (reply == 'x' || reply == 'X') {
done = 3;
}
else {
printf("Valid responses begin with: y Y n N q Q x X\n");
if (prompt != NULL) {
printf("%s? ", prompt);
}
/* Flush rest of input line. */
while (reply != '\n') {
reply = getchar();
}
}
}
if (done > 2) {
bail(NULL, 0);
}
else if (done == 2) {
return (FALSE);
}
return (TRUE);
}