rem: int i;
context: int main(int argc,char *argv[]){       	extern int am_root;	extern int orig_umask;	extern int dry_run;	extern int am_daemon;	extern int am_server;	int ret;	extern int read_batch;   /*  dw */	extern int write_batch;  /*  dw */	extern char *batch_ext;   /*  dw */	int i;          /*   dw */	int orig_argc;  /* dw */	orig_argc = argc;   /* dw */	signal(SIGUSR1, sigusr1_handler);	signal(SIGUSR2, sigusr2_handler);	signal(SIGCHLD, sigchld_handler);	starttime = time(NULL);	am_root = (getuid() == 0);	memset(&stats, 0, sizeof(stats));	if (argc < 2) {		usage(FERROR);		exit_cleanup(RERR_SYNTAX);	}	/* we set a 0 umask so that correct file permissions can be	   carried across */	orig_umask = (int)umask(0);	if (!parse_arguments(&argc, (const char ***) &argv, 1)) {                /* FIXME: We ought to call the same error-handling                 * code here, rather than relying on getopt. */		option_error();		exit_cleanup(RERR_SYNTAX);	}	signal(SIGINT,SIGNAL_CAST sig_int);	signal(SIGPIPE,SIGNAL_CAST sig_int);	signal(SIGHUP,SIGNAL_CAST sig_int);	signal(SIGTERM,SIGNAL_CAST sig_int);	/* Initialize push_dir here because on some old systems getcwd	   (implemented by forking "pwd" and reading its output) doesn't	   work when there are other child processes.  Also, on all systems	   that implement getcwd that way "pwd" can't be found after chroot. */	push_dir(NULL,0);	if (write_batch) { /* dw */	    create_batch_file_ext();	    write_batch_argvs_file(orig_argc, argc, argv);	}	if (read_batch) { /* dw */	    set_batch_file_ext(batch_ext);	}	if (am_daemon) {		return daemon_main();	}	if (argc < 1) {		usage(FERROR);		exit_cleanup(RERR_SYNTAX);	}	if (dry_run)		verbose = MAX(verbose,1);#ifndef SUPPORT_LINKS	if (!am_server && preserve_links) {		rprintf(FERROR,"ERROR: symbolic links not supported\n");		exit_cleanup(RERR_UNSUPPORTED);	}#endif	if (am_server) {		set_nonblocking(STDIN_FILENO);		set_nonblocking(STDOUT_FILENO);		start_server(STDIN_FILENO, STDOUT_FILENO, argc, argv);	}	ret = start_client(argc, argv);	exit_cleanup(ret);	return ret;}