rem: modify_window = atoi(optarg);
context: int parse_arguments(int argc, char *argv[], int frommain){	int opt;	int option_index;	char *ref = lp_refuse_options(module_id);	while ((opt = getopt_long(argc, argv, 				  short_options, long_options, &option_index)) 	       != -1) {		if (ref) {			if (check_refuse_options(ref, opt)) return 0;		}		switch (opt) {		case OPT_VERSION:                        print_rsync_version();			exit_cleanup(0);					case OPT_SUFFIX:			backup_suffix = optarg;			break;					case OPT_RSYNC_PATH:			rsync_path = optarg;			break;			case OPT_PASSWORD_FILE:			password_file =optarg;			break;				case 'I':			ignore_times = 1;			break;		case OPT_SIZE_ONLY:			size_only = 1;			break;		case OPT_MODIFY_WINDOW:			modify_window = atoi(optarg);			modify_window_set = 1;			break;					case 'x':			one_file_system=1;			break;		case OPT_DELETE:			delete_mode = 1;			break;		case OPT_EXISTING:			only_existing = 1;			break;		case OPT_DELETE_AFTER:			delete_after = 1;			break;		case OPT_DELETE_EXCLUDED:			delete_excluded = 1;			delete_mode = 1;			break;		case OPT_FORCE:			force_delete = 1;			break;		case OPT_NUMERIC_IDS:			numeric_ids = 1;			break;		case OPT_EXCLUDE:			add_exclude(optarg, 0);			break;		case OPT_INCLUDE:			add_exclude(optarg, 1);			break;		case OPT_EXCLUDE_FROM:			add_exclude_file(optarg,1, 0);			break;		case OPT_INCLUDE_FROM:			add_exclude_file(optarg,1, 1);			break;		case OPT_COPY_UNSAFE_LINKS:			copy_unsafe_links=1;			break;		case OPT_SAFE_LINKS:			safe_symlinks=1;			break;		case 'h':			usage(FINFO);			exit_cleanup(0);		case 'b':			make_backups=1;			break;		case 'n':			dry_run=1;			break;		case 'S':			sparse_files=1;			break;		case 'C':			cvs_exclude=1;			break;		case 'u':			update_only=1;			break;		case 'l':			preserve_links=1;			break;		case 'L':			copy_links=1;			break;		case 'W':			whole_file=1;			break;		case 'H':#if SUPPORT_HARD_LINKS			preserve_hard_links=1;#else 			slprintf(err_buf,sizeof(err_buf),"hard links are not supported on this server\n");			rprintf(FERROR,"ERROR: hard links not supported on this platform\n");			return 0;#endif			break;		case 'p':			preserve_perms=1;			break;		case 'o':			preserve_uid=1;			break;		case 'g':			preserve_gid=1;			break;		case 'D':			preserve_devices=1;			break;		case 't':			preserve_times=1;			break;		case 'c':			always_checksum=1;			break;		case 'v':			verbose++;			break;		case 'q':			if (frommain) quiet++;			break;		case 'a':			recurse=1;#if SUPPORT_LINKS			preserve_links=1;#endif			preserve_perms=1;			preserve_times=1;			preserve_gid=1;			preserve_uid=1;			preserve_devices=1;			break;		case OPT_SERVER:			am_server = 1;			break;		case OPT_SENDER:			if (!am_server) {				usage(FERROR);				exit_cleanup(RERR_SYNTAX);			}			am_sender = 1;			break;		case 'r':			recurse = 1;			break;		case 'R':			relative_paths = 1;			break;		case 'e':			shell_cmd = optarg;			break;		case 'B':			block_size = atoi(optarg);			break;		case OPT_MAX_DELETE:			max_delete = atoi(optarg);			break;		case OPT_TIMEOUT:			io_timeout = atoi(optarg);			break;		case 'T':			tmpdir = optarg;			break;		case OPT_COMPARE_DEST:			compare_dest = optarg;			break;		case 'z':			do_compression = 1;			break;		case OPT_DAEMON:			am_daemon = 1;			break;		case OPT_STATS:			do_stats = 1;			break;		case OPT_PROGRESS:			do_progress = 1;			break;		case OPT_PARTIAL:			keep_partial = 1;			break;		case OPT_IGNORE_ERRORS:			ignore_errors = 1;			break;		case OPT_BLOCKING_IO:			blocking_io = 1;			break;		case 'P':			do_progress = 1;			keep_partial = 1;			break;		case OPT_CONFIG:			config_file = optarg;			break;		case OPT_PORT:			rsync_port = atoi(optarg);			break;		case OPT_LOG_FORMAT:			log_format = optarg;			break;			case OPT_BWLIMIT:			bwlimit = atoi(optarg);			break;		case OPT_ADDRESS:			{				struct in_addr *ia;				if ((ia = ip_address(optarg))) {					socket_address = *ia;				}			}			break;		case OPT_BACKUP_DIR:			backup_dir = optarg;			break;		default:                        /* FIXME: This can be confusing when the error message                         * is coming from a remote server which has an older                         * rsync version than the local version.  The user                         * sees the option documented in the local --help, but                         * then the program seems to refuse to execute it.  So                         * perhaps the message should give the hostname or                         * something.                         *                          * In rsync 3.x, it might be nice if options which                         * only affect one end didn't have to bother the                         * remote end. */			slprintf(err_buf,sizeof(err_buf),"unrecognised option\n");			return 0;		}	}	return 1;}