X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/f6f239461fd62b3a4f3142b6b2a85f8f65eee486..d093f8e514d0e914bae3dc34b4e4f0a51720c690:/test/src/server.c?ds=sidebyside diff --git a/test/src/server.c b/test/src/server.c index 4bdde65bf..ce55c5c37 100644 --- a/test/src/server.c +++ b/test/src/server.c @@ -28,7 +28,7 @@ on all interfaces, unless the option -noipv6 is given. */ #include #ifdef HAVE_NETINET_IP_VAR_H -#include +# include #endif #include @@ -52,6 +52,7 @@ on all interfaces, unless the option -noipv6 is given. */ #ifndef CS # define CS (char *) +# define CCS (const char *) #endif @@ -61,6 +62,10 @@ typedef struct line { char line[1]; } line; +typedef unsigned BOOL; +#define FALSE 0 +#define TRUE 1 + /************************************************* * SIGALRM handler - crash out * @@ -393,7 +398,6 @@ else sin4.sin_addr.s_addr = (S_ADDR_TYPE)INADDR_ANY; sin4.sin_port = htons(port); if (bind(listen_socket[i], (struct sockaddr *)&sin4, sizeof(sin4)) < 0) - { if (listen_socket[v6n] < 0 || errno != EADDRINUSE) { printf("IPv4 socket bind() failed: %s\n", strerror(errno)); @@ -404,7 +408,6 @@ else close(listen_socket[i]); listen_socket[i] = -1; } - } } } } @@ -496,11 +499,10 @@ s = script; for (count = 0; count < connection_count; count++) { - struct { int left; - int in_use; - } content_length = { .left = 0, .in_use = 0 }; + BOOL in_use; + } content_length = { 0, FALSE }; alarm(timeout); if (port <= 0) @@ -527,8 +529,7 @@ for (count = 0; count < connection_count; count++) if (listen_socket[i] > max_socket) max_socket = listen_socket[i]; } - lcount = select(max_socket + 1, &select_listen, NULL, NULL, NULL); - if (lcount < 0) + if ((lcount = select(max_socket + 1, &select_listen, NULL, NULL, NULL)) < 0) { printf("Select failed\n"); fflush(stdout); @@ -537,7 +538,6 @@ for (count = 0; count < connection_count; count++) accept_socket = -1; for (i = 0; i < skn; i++) - { if (listen_socket[i] > 0 && FD_ISSET(listen_socket[i], &select_listen)) { accept_socket = accept(listen_socket[i], @@ -545,7 +545,6 @@ for (count = 0; count < connection_count; count++) FD_CLR(listen_socket[i], &select_listen); break; } - } } alarm(0); @@ -597,7 +596,7 @@ for (count = 0; count < connection_count; count++) doesn't work for other tests (e.g. ident tests) so we have explicit '<' and '>' flags for input and output as well as the defaults. */ - for (; s != NULL; s = s->next) + for (; s; s = s->next) { char *ss = s->line; @@ -662,7 +661,7 @@ for (count = 0; count < connection_count; count++) n = dlen < sizeof(buffer) ? dlen : sizeof(buffer); if ((n = read(dup_accept_socket, CS buffer, n)) == 0) { - printf("Unxpected EOF read from client\n"); + printf("Unexpected EOF read from client\n"); s = s->next; goto END_OFF; } @@ -672,7 +671,7 @@ for (count = 0; count < connection_count; count++) while (dlen-- > 0) if (fgetc(in) == EOF) { - printf("Unxpected EOF read from client\n"); + printf("Unexpected EOF read from client\n"); s = s->next; goto END_OFF; } @@ -728,16 +727,14 @@ for (count = 0; count < connection_count; count++) alarm(0); n += offset; - printit(buffer, n); + printit(CS buffer, n); if (data) do { n = (read(dup_accept_socket, &c, 1) == 1 && c == '.'); if (content_length.in_use) content_length.left--; while (c != '\n' && read(dup_accept_socket, &c, 1) == 1) - { if (content_length.in_use) content_length.left--; - } } while (!n); else if (memcmp(ss, buffer, n) != 0) { @@ -760,7 +757,7 @@ for (count = 0; count < connection_count; count++) goto END_OFF; } alarm(0); - n = (int)strlen(CS buffer); + n = strlen(CS buffer); if (content_length.in_use) content_length.left -= (n - offset); while (n > 0 && isspace(buffer[n-1])) n--; buffer[n] = 0; @@ -776,8 +773,10 @@ for (count = 0; count < connection_count; count++) } } - if (sscanf(buffer, "