s->tcp_nodelay = 0;
static const char *config_server(FILE *f, struct server **ss){	const char *t = 0;	struct server *s;	ALLOC(s);	num_servers++;	s->port = 80;	s->addr.s_addr = 0;	s->s_name = 0;	s->children = 0;	s->vservers= 0;	s->s_fullname = 0;	s->controls = controls;	s->next = *ss;	s->naccepts = 0;	s->nhandled = 0;	s->tcp_nodelay = 0;	*ss = s;	GETOPEN(f);	while (NOTCLOSE(f)) {		REQWORD();		if (!strcasecmp(tokbuf, c_port))			t = config_int(f, &s->port);		else if (!strcasecmp(tokbuf, c_name))			t = config_string(f, &s->s_name);		else if (!strcasecmp(tokbuf, c_address))			t = config_address(f, &s->addr);		else if (!strcasecmp(tokbuf, c_virtual))			t = config_virtual(f, &s->vservers, s);		else if (!strcasecmp(tokbuf, c_control))			t = config_control(f, &s->controls);		else if (!strcasecmp(tokbuf, c_tcp_nodelay))			t = config_flag(f, &s->tcp_nodelay);		else			t = e_keyword;		if (t)			return t;	}	if (s->port == 0 || s->port > 0xffff)		return e_illegalport;	return 0;}