projects
/
open-adventure.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f5cd343
)
Flush log on interrupt, just for convenience.
author
Eric S. Raymond
<esr@thyrsus.com>
Fri, 26 May 2017 11:22:24 +0000
(07:22 -0400)
committer
Eric S. Raymond
<esr@thyrsus.com>
Fri, 26 May 2017 11:22:24 +0000
(07:22 -0400)
main.c
patch
|
blob
|
history
diff --git
a/main.c
b/main.c
index 881578def7c757011166db7608f75a7735a41e50..7834084eac3ed27472688c23bade12ac7475eafc 100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-7,6
+7,7
@@
#include <stdio.h>
#include <stdbool.h>
#include <getopt.h>
#include <stdio.h>
#include <stdbool.h>
#include <getopt.h>
+#include <signal.h>
#include "main.h"
#include "misc.h"
#include "main.h"
#include "misc.h"
@@
-48,6
+49,14
@@
extern void initialise();
extern void score(long);
extern int action(FILE *, long);
extern void score(long);
extern int action(FILE *, long);
+void sig_handler(int signo)
+{
+ if (signo == SIGINT)
+ if (logfp != NULL)
+ fflush(logfp);
+ exit(0);
+}
+
/*
* MAIN PROGRAM
*/
/*
* MAIN PROGRAM
*/
@@
-75,6
+84,7
@@
int main(int argc, char *argv[]) {
fprintf(stderr,
"advent: can't open logfile %s for write\n",
optarg);
fprintf(stderr,
"advent: can't open logfile %s for write\n",
optarg);
+ signal(SIGINT, sig_handler);
break;
case 'o':
oldstyle = true;
break;
case 'o':
oldstyle = true;