sfree(findfile);
static void rsource(char *src){    char buf[2048];    char *last;    HANDLE dir;    WIN32_FIND_DATA fdat;    int ok;    if ((last = strrchr(src, '/')) == NULL)	last = src;    else	last++;    if (strrchr(last, '\\') != NULL)	last = strrchr(last, '\\') + 1;    if (last == src && strchr(src, ':') != NULL)	last = strchr(src, ':') + 1;    /* maybe send filetime */    if (verbose)	tell_user(stderr, "Entering directory: %s", last);    if (scp_send_dirname(last, 0755))	return;    sprintf(buf, "%s/*", src);    dir = FindFirstFile(buf, &fdat);    ok = (dir != INVALID_HANDLE_VALUE);    while (ok) {	if (strcmp(fdat.cFileName, ".") == 0 ||	    strcmp(fdat.cFileName, "..") == 0) {	} else if (strlen(src) + 1 + strlen(fdat.cFileName) >= sizeof(buf)) {	    run_err("%s/%s: Name too long", src, fdat.cFileName);	} else {	    sprintf(buf, "%s/%s", src, fdat.cFileName);	    source(buf);	}	ok = FindNextFile(dir, &fdat);    }    FindClose(dir);    (void) scp_send_enddir();}