rem: exit_cleanup(1);
add: exit_cleanup(RERR_SYNTAX);
context: static int start_daemon(int fd){	char line[200];	char *motd;	int i = -1;	extern char *config_file;	extern int remote_version;	if (!lp_load(config_file, 0)) {		exit_cleanup(1);	}	set_socket_options(fd,"SO_KEEPALIVE");	set_socket_options(fd,lp_socket_options());		io_printf(fd,"@RSYNCD: %d\n", PROTOCOL_VERSION);	motd = lp_motd_file();	if (motd && *motd) {		FILE *f = fopen(motd,"r");		while (f && !feof(f)) {			int len = fread(line, 1, sizeof(line)-1, f);			if (len > 0) {				line[len] = 0;				io_printf(fd,"%s", line);			}		}		if (f) fclose(f);		io_printf(fd,"\n");	}	if (!read_line(fd, line, sizeof(line)-1)) {		return -1;	}	if (sscanf(line,"@RSYNCD: %d", &remote_version) != 1) {		io_printf(fd,"@ERROR: protocol startup error\n");		return -1;	}		while (i == -1) {		line[0] = 0;		if (!read_line(fd, line, sizeof(line)-1)) {			return -1;		}		if (!*line || strcmp(line,"#list")==0) {			send_listing(fd);			return -1;		} 		if (*line == '#') {			/* it's some sort of command that I don't understand */			io_printf(fd,"@ERROR: Unknown command '%s'\n", line);			return -1;		}		i = lp_number(line);		if (i == -1) {			io_printf(fd,"@ERROR: Unknown module '%s'\n", line);			return -1;		}	}	return rsync_module(fd, i);}