+/*
+ * respond to interrupts
+ */
+onintr()
+{
+ if (pipein || reply("restore interrupted, continue") == FAIL)
+ done(1);
+ if (signal(SIGINT, onintr) == SIG_IGN)
+ (void) signal(SIGINT, SIG_IGN);
+ if (signal(SIGTERM, onintr) == SIG_IGN)
+ (void) signal(SIGTERM, SIG_IGN);
+}
+
+/*
+ * handle unexpected inconsistencies
+ */
+/* VARARGS1 */
+panic(msg, d1, d2)
+ char *msg;
+ long d1, d2;
+{
+
+ fprintf(stderr, msg, d1, d2);
+ if (pipein || reply("abort") == GOOD)
+ abort();
+}
+