aboutsummaryrefslogtreecommitdiff
path: root/tests/server/sws.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/server/sws.c')
-rw-r--r--tests/server/sws.c53
1 files changed, 22 insertions, 31 deletions
diff --git a/tests/server/sws.c b/tests/server/sws.c
index 1b0f145e5..d66f84ad9 100644
--- a/tests/server/sws.c
+++ b/tests/server/sws.c
@@ -13,7 +13,10 @@
#include <netinet/in.h>
#include <netdb.h>
-char *spitout(FILE *stream, char *main, char *sub, int *size);
+const char *
+spitout(FILE *stream,
+ const char *main,
+ const char *sub, int *size);
#define DEFAULT_PORT 8999
@@ -27,8 +30,8 @@ char *spitout(FILE *stream, char *main, char *sub, int *size);
#define TEST_DATA_PATH "data/test%d"
-static char *docfriends = "HTTP/1.1 200 Mighty fine indeed\r\n\r\nWE ROOLZ\r\n";
-static char *doc404 = "HTTP/1.1 404 Not Found\n"
+static const char *docfriends = "HTTP/1.1 200 Mighty fine indeed\r\n\r\nWE ROOLZ\r\n";
+static const char *doc404 = "HTTP/1.1 404 Not Found\n"
"Server: " VERSION "\n"
"Connection: close\n"
"Content-Type: text/html\n"
@@ -41,7 +44,9 @@ static char *doc404 = "HTTP/1.1 404 Not Found\n"
"The requested URL was not found on this server.\n"
"<P><HR><ADDRESS>" VERSION "</ADDRESS>\n" "</BODY></HTML>\n";
-static volatile int sigpipe, sigterm;
+#ifdef HAVE_SIGNAL
+static volatile int sigpipe;
+#endif
static FILE *logfp;
@@ -53,27 +58,21 @@ static void logmsg(const char *msg)
strcpy(loctime, asctime(curr_time));
loctime[strlen(loctime) - 1] = '\0';
- fprintf(logfp, "%s: pid %d: %s\n", loctime, getpid(), msg);
+ fprintf(logfp, "%s: pid %d: %s\n", loctime, (int)getpid(), msg);
#ifdef DEBUG
- fprintf(stderr, "%s: pid %d: %s\n", loctime, getpid(), msg);
+ fprintf(stderr, "%s: pid %d: %s\n", loctime, (int)getpid(), msg);
#endif
fflush(logfp);
}
+#ifdef HAVE_SIGNAL
static void sigpipe_handler(int sig)
{
- sigpipe = 1;
-}
-
-
-static void sigterm_handler(int sig)
-{
- char logbuf[100];
- sprintf(logbuf, "Got signal %d, terminating", sig);
- logmsg(logbuf);
- sigterm = 1;
+ (void)sig; /* prevent warning */
+ sigpipe = 1;
}
+#endif
int ProcessRequest(char *request)
{
@@ -237,7 +236,7 @@ static int send_doc(int sock, int doc, int part_no)
{
int written;
int count;
- char *buffer;
+ const char *buffer;
char *ptr;
FILE *stream;
char *cmd=NULL;
@@ -271,7 +270,8 @@ static int send_doc(int sock, int doc, int part_no)
return 0;
}
else {
- ptr = buffer = spitout(stream, "reply", partbuf, &count);
+ buffer = spitout(stream, "reply", partbuf, &count);
+ ptr = (char *)buffer;
fclose(stream);
}
@@ -283,7 +283,7 @@ static int send_doc(int sock, int doc, int part_no)
}
else {
/* get the custom server control "commands" */
- cmd = spitout(stream, "reply", "postcmd", &cmdsize);
+ cmd = (char *)spitout(stream, "reply", "postcmd", &cmdsize);
fclose(stream);
}
}
@@ -330,7 +330,7 @@ int main(int argc, char *argv[])
struct sockaddr_in me;
int sock, msgsock, flag;
unsigned short port = DEFAULT_PORT;
- char *logfile = DEFAULT_LOGFILE;
+ const char *logfile = DEFAULT_LOGFILE;
int part_no;
FILE *pidfile;
@@ -348,12 +348,8 @@ int main(int argc, char *argv[])
#ifdef HAVE_SIGNAL
/* FIX: make a more portable signal handler */
signal(SIGPIPE, sigpipe_handler);
- signal(SIGINT, sigterm_handler);
- signal(SIGTERM, sigterm_handler);
siginterrupt(SIGPIPE, 1);
- siginterrupt(SIGINT, 1);
- siginterrupt(SIGTERM, 1);
#endif
sock = socket(AF_INET, SOCK_STREAM, 0);
@@ -394,18 +390,13 @@ int main(int argc, char *argv[])
fprintf(stderr, "*** %s listening on port %u ***\n", VERSION, port);
- while (!sigterm) {
+ while (1) {
int doc;
msgsock = accept(sock, NULL, NULL);
- if (msgsock == -1) {
- if (sigterm) {
- break;
- }
- /* perror("accept"); */
+ if (msgsock == -1)
continue;
- }
logmsg("New client connected");