]> git.pond.sub.org Git - empserver/commitdiff
(handleintr): Move to main.c. Internal linkage. Remove empty
authorMarkus Armbruster <armbru@pond.sub.org>
Wed, 28 Dec 2005 16:16:41 +0000 (16:16 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Wed, 28 Dec 2005 16:16:41 +0000 (16:16 +0000)
handle.c
(interrupt): Internal linkage.

(interrupt): Use proper type for access from signal handler.
(intr): Don't increment to set, it's unobvious and it could overflow.

src/client/handle.c [deleted file]
src/client/main.c
src/client/misc.h

diff --git a/src/client/handle.c b/src/client/handle.c
deleted file mode 100644 (file)
index 58ed07c..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2005, Dave Pare, Jeff Bailey, Thomas Ruschak,
- *                           Ken Stevens, Steve McClure
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- *  ---
- *
- *  See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
- *  related information and legal notices. It is expected that any future
- *  projects/authors will amend these files as needed.
- *
- *  ---
- *
- *  handle.c: Interrupt handler 
- * 
- *  Known contributors to this file:
- *     Dave Pare, 1989
- *     Steve McClure, 1998
- */
-
-#include <config.h>
-
-#if !defined(_WIN32)
-#include <unistd.h>
-#else
-#include <winsock.h>
-#endif
-#include "misc.h"
-
-int
-handleintr(int s)
-{
-    if (interrupt) {
-       /* tacky, but it works */
-#if !defined(_WIN32)
-       if (write(s, "\naborted\n", 1 + 7 + 1) <= 0)
-#else
-       if (send(s, "\naborted\n", 1 + 7 + 1, 0) <= 0)
-#endif
-           return 0;
-       interrupt = 0;
-    }
-    return 1;
-}
index 8b944cd954abf5786ec0b70d429c4dee9dbbe780..bac2db247a8aa94cd68dd34b293497a3a1e3f6c2 100644 (file)
@@ -69,9 +69,9 @@ HANDLE hStdIn;
 #define        RETRY   3
 
 int eight_bit_clean;
-int interrupt;
 int sock;
 
+static volatile sig_atomic_t interrupt;
 static void intr(int sig);
 
 
@@ -332,7 +332,7 @@ main(int ac, char **av)
 static void
 intr(int sig)
 {
-    interrupt++;
+    interrupt = 1;
 #ifdef _WIN32
     signal(SIGINT, intr);
 #endif
@@ -340,3 +340,19 @@ intr(int sig)
     signal(SIGINT, intr);
 #endif
 }
+
+static int
+handleintr(int s)
+{
+    if (interrupt) {
+       /* tacky, but it works */
+#if !defined(_WIN32)
+       if (write(s, "\naborted\n", 1 + 7 + 1) <= 0)
+#else
+       if (send(s, "\naborted\n", 1 + 7 + 1, 0) <= 0)
+#endif
+           return 0;
+       interrupt = 0;
+    }
+    return 1;
+}
index 1940026ddf702cf40bd32e3efed02c10d2f82227..ae19f8fe377a2d68ed00e22ddbb56032c0afbac3 100644 (file)
@@ -51,7 +51,6 @@ struct ioqueue;
 extern char empirehost[];
 extern char empireport[];
 extern int eight_bit_clean;
-extern int interrupt;
 extern char num_teles[];
 extern int sock;
 extern char *SO;
@@ -74,7 +73,6 @@ void putse(void);
 #endif
 int recvline(int s, char *buf);
 int expect(int s, int match, char *buf);
-int handleintr(int);
 int hostaddr(char *name, struct sockaddr_in *addr);
 int hostconnect(struct sockaddr_in *addr);
 int hostport(char *name, struct sockaddr_in *addr);