if (t != t_word) return t; 
if (t != t_word) return t; 
static const char *config_control(struct configuration *p, struct control **as){	struct control *a, *b;	struct simple_list *l;	const char *t;	b = *as;	while (b && b->locations)		b = b->next;	ALLOC(a);	a->locations = 0;	a->alias = 0;	a->clients = 0;	a->exact_match = 0;	if (b) {		a->index_names = b->index_names;		a->accesses = b->accesses;		a->mimes = b->mimes;		a->path_args_ok = b->path_args_ok;		a->admin = b->admin;		a->realm = b->realm;		a->userfile = b->userfile;		a->error_401_file = b->error_401_file;		a->error_403_file = b->error_403_file;		a->error_404_file = b->error_404_file;		a->do_crypt = b->do_crypt;		a->child_filename = b->child_filename;		a->dns = b->dns;		a->exports = b->exports;		a->script_user = b->script_user;		a->run_scripts_as_owner = b->run_scripts_as_owner;		a->allowed_owners = b->allowed_owners;	} else {		a->index_names = 0;		a->accesses = 0;		a->mimes = 0;		a->path_args_ok = 0;		a->admin = 0;		a->realm = 0;		a->userfile = 0;		a->error_401_file = 0;		a->error_403_file = 0;		a->error_404_file = 0;		a->do_crypt = 0;		a->child_filename = 0;		a->dns = 1;		a->exports = 0;		a->script_user = 0;		a->run_scripts_as_owner = 0;		a->allowed_owners = 0;	}	a->next = *as;	*as = a;	if ((t = gettoken(p)) != t_open) return t;	while ((t = gettoken(p)) != t_close) {		if (t != t_word) return t;		if (!strcasecmp(p->tokbuf, c_location)) {			ALLOC(l);			if ((t = gettoken(p)) != t_string && t != t_word) return t;			chopslash(p->tokbuf);			COPY(l->name, p->tokbuf);			if (a->locations) {				l->next = a->locations->next;				a->locations->next = l;			} else {				l->next = l;				a->locations = l;			}			continue;		} else if (!strcasecmp(p->tokbuf, c_alias)) {			if ((t = gettoken(p)) != t_string && t != t_word) return t;			chopslash(p->tokbuf);			COPY(a->alias, p->tokbuf);			continue;		} else if (!strcasecmp(p->tokbuf, c_path_args))			t = config_flag(p, &a->path_args_ok);		else if (!strcasecmp(p->tokbuf, c_index_names))			t = config_list(p, &a->index_names);		else if (!strcasecmp(p->tokbuf, c_access))			t = config_access(p, &a->accesses);		else if (!strcasecmp(p->tokbuf, c_clients))			t = config_clients(p, &a->clients);		else if (!strcasecmp(p->tokbuf, c_types))			t = config_mime(p, &a->mimes, CLASS_FILE);		else if (!strcasecmp(p->tokbuf, c_specials))			t = config_mime(p, &a->mimes, CLASS_SPECIAL);		else if (!strcasecmp(p->tokbuf, c_external))			t = config_mime(p, &a->mimes, CLASS_EXTERNAL);		else if (!strcasecmp(p->tokbuf, c_admin))			t = config_string(p, &a->admin);		else if (!strcasecmp(p->tokbuf, c_realm))			t = config_string(p, &a->realm);		else if (!strcasecmp(p->tokbuf, c_userfile))			t = config_string(p, &a->userfile);		else if (!strcasecmp(p->tokbuf, c_error_401_file))			t = config_string(p, &a->error_401_file);		else if (!strcasecmp(p->tokbuf, c_error_403_file))			t = config_string(p, &a->error_403_file);		else if (!strcasecmp(p->tokbuf, c_error_404_file))			t = config_string(p, &a->error_404_file);		else if (!strcasecmp(p->tokbuf, c_do_crypt))			t = config_flag(p, &a->do_crypt);		else if (!strcasecmp(p->tokbuf, c_child_log))			t = config_string(p, &a->child_filename);		else if (!strcasecmp(p->tokbuf, c_dns))			t = config_flag(p, &a->dns);		else if (!strcasecmp(p->tokbuf, c_export))			t = config_list(p, &a->exports);		else if (!strcasecmp(p->tokbuf, c_exact_match))			t = config_flag(p, &a->exact_match);		else if (!strcasecmp(p->tokbuf, c_script_user))			t = config_string(p, &a->script_user);		else if (!strcasecmp(p->tokbuf, c_run_scripts_as_owner))			t = config_flag(p, &a->run_scripts_as_owner);		else if (!strcasecmp(p->tokbuf, c_allowed_owners))			t = config_owners(p, &a->allowed_owners);		else			t = e_keyword;		if (t)			return t;	}	if (a->alias && (a->locations == 0))		return e_bad_alias;	return 0;}
8520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8520/4557b1c28c9ed1edd81283f4dda948f16e6d809d/config.c/buggy/src/config.c