projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed blank replacement
[pspp-builds.git]
/
src
/
main.c
diff --git
a/src/main.c
b/src/main.c
index b09a200a66bcf6f23215f3fcad058b9270e637fe..f9c4e83b7bdfed59274591ab8568427a3893aabf 100644
(file)
--- a/
src/main.c
+++ b/
src/main.c
@@
-14,8
+14,8
@@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 5
9 Temple Place - Suite 330
, Boston, MA
- 0211
1-1307
, USA. */
+ Foundation, Inc., 5
1 Franklin Street, Fifth Floor
, Boston, MA
+ 0211
0-1301
, USA. */
#include <config.h>
#include <stdio.h>
#include <config.h>
#include <stdio.h>
@@
-25,7
+25,7
@@
#include "command.h"
#include "dictionary.h"
#include "error.h"
#include "command.h"
#include "dictionary.h"
#include "error.h"
-#include "getl
ine
.h"
+#include "getl.h"
#include "glob.h"
#include "lexer.h"
#include "output.h"
#include "glob.h"
#include "lexer.h"
#include "output.h"
@@
-33,6
+33,9
@@
#include "var.h"
#include <signal.h>
#include "var.h"
#include <signal.h>
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+
#include <stdlib.h>
#include "debug-print.h"
#include <stdlib.h>
#include "debug-print.h"
@@
-54,17
+57,26
@@
char curdate[12];
/* If a segfault happens, issue a message to that effect and halt */
void bug_handler(int sig);
/* If a segfault happens, issue a message to that effect and halt */
void bug_handler(int sig);
+/* Handle quit/term/int signals */
+void interrupt_handler(int sig);
+
/* Whether we're dropping down to interactive mode immediately because
we hit end-of-file unexpectedly (or whatever). */
int start_interactive;
/* Whether we're dropping down to interactive mode immediately because
we hit end-of-file unexpectedly (or whatever). */
int start_interactive;
+
+
+
+
/* Program entry point. */
int
main (int argc, char **argv)
{
/* Program entry point. */
int
main (int argc, char **argv)
{
+
signal (SIGSEGV, bug_handler);
signal (SIGSEGV, bug_handler);
- signal (SIGFPE, bug_handler);
+ signal (SIGFPE, bug_handler);
+ signal (SIGINT, interrupt_handler);
gsl_set_error_handler_off();
gsl_set_error_handler_off();
@@
-199,3
+211,10
@@
bug_handler(int sig UNUSED)
break;
}
}
break;
}
}
+
+
+void
+interrupt_handler(int sig UNUSED)
+{
+ err_hcf(0);
+}