scp_source_setup(targ, targetshouldbedirectory);
if (scp_source_setup(targ, targetshouldbedirectory)) return;
static void toremote(int argc, char *argv[]){    char *src, *targ, *host, *user;    char *cmd;    int i, wc_type;    targ = argv[argc - 1];    /* Separate host from filename */    host = targ;    targ = colon(targ);    if (targ == NULL)	bump("targ == NULL in toremote()");    *targ++ = '\0';    if (*targ == '\0')	targ = ".";    /* Substitute "." for empty target */    /* Separate host and username */    user = host;    host = strrchr(host, '@');    if (host == NULL) {	host = user;	user = NULL;    } else {	*host++ = '\0';	if (*user == '\0')	    user = NULL;    }    if (argc == 2) {	if (colon(argv[0]) != NULL)	    bump("%s: Remote to remote not supported", argv[0]);	wc_type = test_wildcard(argv[0], 1);	if (wc_type == WCTYPE_NONEXISTENT)	    bump("%s: No such file or directory\n", argv[0]);	else if (wc_type == WCTYPE_WILDCARD)	    targetshouldbedirectory = 1;    }    cmd = dupprintf("scp%s%s%s%s -t %s",		    verbose ? " -v" : "",		    recursive ? " -r" : "",		    preserve ? " -p" : "",		    targetshouldbedirectory ? " -d" : "", targ);    do_cmd(host, user, cmd);    sfree(cmd);    scp_source_setup(targ, targetshouldbedirectory);    for (i = 0; i < argc - 1; i++) {	src = argv[i];	if (colon(src) != NULL) {	    tell_user(stderr, "%s: Remote to remote not supported\n", src);	    errs++;	    continue;	}	wc_type = test_wildcard(src, 1);	if (wc_type == WCTYPE_NONEXISTENT) {	    run_err("%s: No such file or directory", src);	    continue;	} else if (wc_type == WCTYPE_FILENAME) {	    source(src);	    continue;	} else {	    WildcardMatcher *wc;	    char *filename;	    wc = begin_wildcard_matching(src);	    if (wc == NULL) {		run_err("%s: No such file or directory", src);		continue;	    }	    while ((filename = wildcard_get_filename(wc)) != NULL) {		source(filename);		sfree(filename);	    }	    finish_wildcard_matching(wc);	}    }}