Commit 0941f37c authored by Dustin Lundquist's avatar Dustin Lundquist

Trailing whitespace

parent 44eca522
......@@ -3,10 +3,10 @@
* Copyright (c) 2011 Manuel Kasper <mk@neon1.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -3,10 +3,10 @@
* Copyright (c) 2011 Manuel Kasper <mk@neon1.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -67,7 +67,7 @@ void
free_buffer(struct Buffer *buf) {
if (buf->buffer)
free(buf->buffer);
free(buf);
}
......@@ -91,7 +91,7 @@ buffer_recv(struct Buffer *buffer, int sockfd, int flags) {
if (bytes > 0)
advance_write_position(buffer, bytes);
return bytes;
}
......@@ -115,7 +115,7 @@ buffer_send(struct Buffer *buffer, int sockfd, int flags) {
if (bytes > 0)
advance_read_position(buffer, bytes);
return bytes;
}
......@@ -172,9 +172,9 @@ buffer_peek(const struct Buffer *src, void *dst, size_t len) {
size_t
buffer_pop(struct Buffer *src, void *dst, size_t len) {
size_t bytes;
bytes = buffer_peek(src, dst, len);
if (bytes > 0)
advance_read_position(src, bytes);
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -23,7 +23,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef BUFFER_H
#ifndef BUFFER_H
#define BUFFER_H
#include <stdio.h>
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -60,7 +60,7 @@ next_token(FILE *config, char *buffer, size_t buffer_len) {
case '}':
return CBRACE;
default:
/* Rewind one byte, so next_word() can fetch from
/* Rewind one byte, so next_word() can fetch from
* the begining of the word */
fseek(config, -1, SEEK_CUR);
......@@ -74,7 +74,7 @@ next_token(FILE *config, char *buffer, size_t buffer_len) {
return END;
}
static void
static void
chomp_line(FILE *file) {
int ch;
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -108,7 +108,7 @@ init_config(const char *filename) {
free_config(config);
return NULL;
}
if (parse_config((void *)config, file, global_grammar) <= 0) {
long whence = ftell(file);
char buffer[256];
......@@ -206,7 +206,7 @@ end_table_stanza(struct Config *config, struct Table *table) {
/* TODO check table */
add_table(&config->tables, table);
return 1;
}
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -154,7 +154,7 @@ fd_set_connections(fd_set *rfds, fd_set *wfds, int max) {
/* do nothing */
break;
default:
syslog(LOG_WARNING, "Invalid state %d", iter->state);
syslog(LOG_WARNING, "Invalid state %d", iter->state);
}
}
......@@ -175,7 +175,7 @@ handle_connections(fd_set *rfds, fd_set *wfds) {
if (FD_ISSET(iter->server.sockfd, wfds) &&
buffer_len(iter->client.buffer))
handle_connection_server_tx(iter);
/* Fall through */
case(ACCEPTED):
if (FD_ISSET(iter->client.sockfd, rfds) &&
......@@ -228,7 +228,7 @@ print_connections() {
char filename[] = "/tmp/sni-proxy-connections-XXXXXX";
int fd;
FILE *temp;
fd = mkstemp(filename);
if (fd < 0) {
syslog(LOG_INFO, "mkstemp failed: %s", strerror(errno));
......@@ -418,7 +418,7 @@ new_connection() {
free_connection(c);
return NULL;
}
c->server.buffer = new_buffer();
if (c->server.buffer == NULL) {
free_connection(c);
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -53,7 +53,7 @@ parse_http_header(const char* data, int len) {
if (hostname == NULL)
return hostname;
/*
/*
* if the user specifies the port in the request, it is included here.
* Host: example.com:80
* so we trim off port portion
......@@ -93,7 +93,7 @@ get_header(const char *header, const char *data, int data_len) {
return NULL;
}
strncpy (header_data, data + header_len, len - header_len);
/* null terminate the header data */
header_data[len - header_len] = '\0';
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -125,7 +125,7 @@ accept_listener_arg(struct Listener *listener, char *arg) {
if (listener->addr.ss_family == 0) {
if (isnumeric(arg))
listener->addr_len = parse_address(&listener->addr, NULL, atoi(arg));
else
else
listener->addr_len = parse_address(&listener->addr, arg, 0);
if (listener->addr_len == 0) {
......@@ -164,7 +164,7 @@ accept_listener_protocol(struct Listener *listener, char *protocol) {
((struct sockaddr_in *)&listener->addr)->sin_port = listener->protocol == TLS ? 443 : 80;
else if (listener->addr.ss_family == AF_INET6 && ((struct sockaddr_in6 *)&listener->addr)->sin6_port == 0)
((struct sockaddr_in6 *)&listener->addr)->sin6_port = listener->protocol == TLS ? 443 : 80;
return 1;
}
......@@ -188,7 +188,7 @@ int valid_listener(const struct Listener *listener) {
const struct sockaddr_in6 *sin6;
const struct sockaddr_un *sun;
} addr;
addr.storage = &listener->addr;
switch(addr.storage->ss_family) {
......@@ -227,14 +227,14 @@ int valid_listener(const struct Listener *listener) {
return 1;
}
int
int
init_listener(struct Listener *listener, const struct Table_head *tables) {
listener->table = lookup_table(tables, listener->table_name);
if (listener->table == NULL) {
fprintf(stderr, "Table \"%s\" not defined\n", listener->table_name);
return -1;
}
listener->sockfd = socket(listener->addr.ss_family, SOCK_STREAM, 0);
if (listener->sockfd < 0) {
syslog(LOG_CRIT, "socket failed");
......@@ -244,7 +244,7 @@ init_listener(struct Listener *listener, const struct Table_head *tables) {
// set SO_REUSEADDR on server socket to facilitate restart
int reuseval = 1;
setsockopt(listener->sockfd, SOL_SOCKET, SO_REUSEADDR, &reuseval, sizeof(reuseval));
if (bind(listener->sockfd, (struct sockaddr *)&listener->addr, listener->addr_len) < 0) {
syslog(LOG_CRIT, "bind failed");
close(listener->sockfd);
......@@ -295,7 +295,7 @@ print_listener_config(FILE *file, const struct Listener *listener) {
const struct sockaddr_in6 *sin6;
const struct sockaddr_un *sun;
} addr;
addr.storage = &listener->addr;
switch(addr.storage->ss_family) {
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -41,7 +41,7 @@ static struct Config *config;
int
init_server(struct Config *c) {
config = c;
signal(SIGINT, sig_handler);
signal(SIGTERM, sig_handler);
signal(SIGHUP, sig_handler);
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -58,7 +58,7 @@ main(int argc, char **argv) {
case 'f': /* foreground */
background_flag = 0;
break;
default:
default:
usage();
exit(EXIT_FAILURE);
}
......@@ -126,7 +126,7 @@ daemonize(const char *username) {
for (i = sysconf(_SC_OPEN_MAX); i >= 0; i--) {
if (fstat(i, &sb) == -1 || S_ISSOCK(sb.st_mode))
continue;
close(i);
}
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -79,7 +79,7 @@ void init_tables(struct Table_head *tables) {
static void init_table(struct Table *table) {
struct Backend *iter;
STAILQ_FOREACH(iter, &table->backends, entries)
init_backend(iter);
}
......@@ -142,7 +142,7 @@ print_table_config(FILE *file, struct Table *table) {
STAILQ_FOREACH(backend, &table->backends, entries) {
if (backend->port == 0)
fprintf(file, "\t%s %s\n", backend->hostname, backend->address);
else
else
fprintf(file, "\t%s %s %d\n", backend->hostname, backend->address, backend->port);
}
fprintf(file, "}\n\n");
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......@@ -34,13 +34,13 @@ hexdump(const void *ptr, int buflen) {
int i, j;
for (i=0; i<buflen; i+=16) {
printf("%06x: ", i);
for (j=0; j<16; j++)
for (j=0; j<16; j++)
if (i+j < buflen)
printf("%02x ", buf[i+j]);
else
printf(" ");
printf(" ");
for (j=0; j<16; j++)
for (j=0; j<16; j++)
if (i+j < buflen)
printf("%c", isprint(buf[i+j]) ? buf[i+j] : '.');
printf("\n");
......
......@@ -2,10 +2,10 @@
* Copyright (c) 2011 and 2012, Dustin Lundquist <dustin@null-ptr.net>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
......
......@@ -33,7 +33,7 @@ void test1() {
len = buffer_pop(buffer, output, sizeof(output));
assert(len == 0);
free_buffer(buffer);
}
......@@ -51,7 +51,7 @@ void test2() {
i += len;
}
while (len) {
len = buffer_pop(buffer, output, sizeof(output));
}
......
......@@ -38,7 +38,7 @@ const char *bad[] = {
int main() {
unsigned int i;
const char *hostname;
for(i = 0; i < sizeof(good) / sizeof(const char *); i++) {
hostname = parse_http_header(good[i], strlen(good[i]));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment