+
+/* ARGSUSED */
+static void
+quit(int dummy __unused)
+{
+ int c;
+#ifdef BSD
+ struct itimerval itv;
+#endif
+ ioaskquit();
+ c = getAChar();
+ if (c == EOF || c == 'y') {
+ /* disable timer */
+#ifdef BSD
+ itv.it_value.tv_sec = 0;
+ itv.it_value.tv_usec = 0;
+ (void)setitimer(ITIMER_REAL, &itv, NULL);
+#endif
+#ifdef SYSV
+ alarm(0);
+#endif
+ shutdown_gr();
+ (void)log_score(0);
+ exit(0);
+ }
+ ionoquit();
+}