| 37 |
#include "util.h" |
#include "util.h" |
| 38 |
#include "ssh.h" |
#include "ssh.h" |
| 39 |
#include "ttcommon.h" |
#include "ttcommon.h" |
| 40 |
|
#include "ttlib.h" |
| 41 |
|
|
| 42 |
#include <stdlib.h> |
#include <stdlib.h> |
| 43 |
#include <stdio.h> |
#include <stdio.h> |
| 3063 |
LPARAM lParam) |
LPARAM lParam) |
| 3064 |
{ |
{ |
| 3065 |
static char sendfile[MAX_PATH] = ""; |
static char sendfile[MAX_PATH] = ""; |
| 3066 |
|
static char recvdir[MAX_PATH] = ""; |
| 3067 |
HWND hWnd; |
HWND hWnd; |
| 3068 |
HDROP hDrop; |
HDROP hDrop; |
| 3069 |
UINT uFileNo; |
UINT uFileNo; |
| 3075 |
DragAcceptFiles(dlg, TRUE); |
DragAcceptFiles(dlg, TRUE); |
| 3076 |
|
|
| 3077 |
// SCPファイル受信先を表示する |
// SCPファイル受信先を表示する |
| 3078 |
_snprintf_s(szFileName, sizeof(szFileName), _TRUNCATE, "To: %s", pvar->ts->FileDir); |
if (recvdir[0] == '\0') { |
| 3079 |
SendMessage(GetDlgItem(dlg, IDC_RECV_TO_DIRECTORY), WM_SETTEXT, 0, (LPARAM)szFileName); |
_snprintf_s(recvdir, MAX_PATH, _TRUNCATE, "%s", pvar->ts->FileDir); |
| 3080 |
|
} |
| 3081 |
|
SendMessage(GetDlgItem(dlg, IDC_RECVFILE_TO), WM_SETTEXT, 0, (LPARAM)recvdir); |
| 3082 |
|
|
| 3083 |
#ifdef SFTP_DEBUG |
#ifdef SFTP_DEBUG |
| 3084 |
ShowWindow(GetDlgItem(dlg, IDC_SFTP_TEST), SW_SHOW); |
ShowWindow(GetDlgItem(dlg, IDC_SFTP_TEST), SW_SHOW); |
| 3135 |
} |
} |
| 3136 |
} |
} |
| 3137 |
return TRUE; |
return TRUE; |
| 3138 |
|
case IDC_RECVDIR_SELECT | (BN_CLICKED << 16): |
| 3139 |
|
{ |
| 3140 |
|
doSelectFolder(dlg, recvdir, MAX_PATH, "Choose destination directory"); |
| 3141 |
|
SendMessage(GetDlgItem(dlg, IDC_RECVFILE_TO), WM_SETTEXT, 0, (LPARAM)recvdir); |
| 3142 |
|
} |
| 3143 |
|
return TRUE; |
| 3144 |
} |
} |
| 3145 |
|
|
| 3146 |
switch (LOWORD(wParam)) { |
switch (LOWORD(wParam)) { |
| 3163 |
hWnd = GetDlgItem(dlg, IDC_RECVFILE); |
hWnd = GetDlgItem(dlg, IDC_RECVFILE); |
| 3164 |
SendMessage(hWnd, WM_GETTEXT , sizeof(szFileName), (LPARAM)szFileName); |
SendMessage(hWnd, WM_GETTEXT , sizeof(szFileName), (LPARAM)szFileName); |
| 3165 |
if (szFileName[0] != '\0') { |
if (szFileName[0] != '\0') { |
| 3166 |
SSH_start_scp_receive(pvar, szFileName); |
char recvpath[MAX_PATH] = ""; |
| 3167 |
|
char* fn = strrchr(szFileName, '/'); |
| 3168 |
|
if (fn && fn[1] == '\0') { |
| 3169 |
|
return FALSE; |
| 3170 |
|
} |
| 3171 |
|
SendMessage(GetDlgItem(dlg, IDC_RECVFILE_TO), WM_GETTEXT, sizeof(recvdir), (LPARAM)recvdir); |
| 3172 |
|
_snprintf_s(recvpath, MAX_PATH, _TRUNCATE, "%s\\%s", recvdir, fn ? (fn + 1) : szFileName); |
| 3173 |
|
SSH_scp_transaction(pvar, szFileName, recvpath, FROMREMOTE); |
| 3174 |
EndDialog(dlg, 1); // dialog close |
EndDialog(dlg, 1); // dialog close |
| 3175 |
return TRUE; |
return TRUE; |
| 3176 |
} |
} |