about summary refs log tree commit diff stats
path: root/src/HTAlert.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/HTAlert.c')
-rw-r--r--src/HTAlert.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/HTAlert.c b/src/HTAlert.c
index a83014db..0886d81e 100644
--- a/src/HTAlert.c
+++ b/src/HTAlert.c
@@ -55,11 +55,24 @@ PUBLIC void HTProgress ARGS1(
         statusline(Msg);
 }
 
+PRIVATE BOOL conf_cancelled = NO; /* used by HTConfirm only - kw */
+
+PUBLIC BOOL HTLastConfirmCancelled NOARGS
+{
+    if (conf_cancelled) {
+	conf_cancelled = NO;	/* reset */
+	return(YES);
+    } else {
+	return(NO);
+    }
+}
+
 /*	Seek confirmation.				HTConfirm()
 **	------------------
 */
 PUBLIC BOOL HTConfirm ARGS1(CONST char *, Msg)
 {
+    conf_cancelled = NO;
     if (dump_output_immediately) { /* Non-interactive, can't respond */
 	return(NO);
     } else {
@@ -80,6 +93,8 @@ PUBLIC BOOL HTConfirm ARGS1(CONST char *, Msg)
 #endif /* VMS */
 	    if (TOUPPER(c) == 'Y')
 		return(YES);
+	    if (c == 7 || c == 3) /* remember we had ^G or ^C */
+		conf_cancelled = YES;
 	    if (TOUPPER(c) == 'N' || c == 7 || c == 3) /* ^G or ^C cancels */
 		return(NO);
 	}