| 7522 |
Channel_t *c = (Channel_t *)p; |
Channel_t *c = (Channel_t *)p; |
| 7523 |
PTInstVar pvar = c->scp.pvar; |
PTInstVar pvar = c->scp.pvar; |
| 7524 |
long long total_size = 0; |
long long total_size = 0; |
| 7525 |
char buf[8192]; |
char *buf = NULL; |
| 7526 |
|
size_t buflen; |
| 7527 |
char s[80]; |
char s[80]; |
| 7528 |
size_t ret; |
size_t ret; |
| 7529 |
HWND hWnd = c->scp.progress_window; |
HWND hWnd = c->scp.progress_window; |
| 7532 |
DWORD stime; |
DWORD stime; |
| 7533 |
int elapsed, prev_elapsed; |
int elapsed, prev_elapsed; |
| 7534 |
|
|
| 7535 |
|
// 圧縮付きでSCP送信を行うと、BOFで落ちるため、workaroundとして、 |
| 7536 |
|
// 圧縮の場合はバッファサイズを小さくする。 |
| 7537 |
|
// (2011.6.11 yutaka) |
| 7538 |
|
if (pvar->ts_SSH->CompressionLevel == 0) { |
| 7539 |
|
buflen = 8192; |
| 7540 |
|
} else { |
| 7541 |
|
buflen = 1024; |
| 7542 |
|
} |
| 7543 |
|
buf = malloc(buflen); |
| 7544 |
|
|
| 7545 |
//SendMessage(GetDlgItem(hWnd, IDC_FILENAME), WM_SETTEXT, 0, (LPARAM)c->scp.localfile); |
//SendMessage(GetDlgItem(hWnd, IDC_FILENAME), WM_SETTEXT, 0, (LPARAM)c->scp.localfile); |
| 7546 |
SendMessage(GetDlgItem(hWnd, IDC_FILENAME), WM_SETTEXT, 0, (LPARAM)c->scp.localfilefull); |
SendMessage(GetDlgItem(hWnd, IDC_FILENAME), WM_SETTEXT, 0, (LPARAM)c->scp.localfilefull); |
| 7547 |
|
|
| 7556 |
goto cancel_abort; |
goto cancel_abort; |
| 7557 |
|
|
| 7558 |
// ファイルから読み込んだデータはかならずサーバへ送信する。 |
// ファイルから読み込んだデータはかならずサーバへ送信する。 |
| 7559 |
ret = fread(buf, 1, sizeof(buf), c->scp.localfp); |
ret = fread(buf, 1, buflen, c->scp.localfp); |
| 7560 |
if (ret == 0) |
if (ret == 0) |
| 7561 |
break; |
break; |
| 7562 |
|
|
| 7609 |
prev_elapsed = elapsed; |
prev_elapsed = elapsed; |
| 7610 |
} |
} |
| 7611 |
|
|
| 7612 |
} while (ret <= sizeof(buf)); |
} while (ret <= buflen); |
| 7613 |
|
|
| 7614 |
// eof |
// eof |
| 7615 |
c->scp.state = SCP_DATA; |
c->scp.state = SCP_DATA; |
| 7623 |
|
|
| 7624 |
ShowWindow(hWnd, SW_HIDE); |
ShowWindow(hWnd, SW_HIDE); |
| 7625 |
|
|
| 7626 |
|
free(buf); |
| 7627 |
|
|
| 7628 |
return 0; |
return 0; |
| 7629 |
|
|
| 7630 |
cancel_abort: |
cancel_abort: |
| 7637 |
|
|
| 7638 |
abort: |
abort: |
| 7639 |
|
|
| 7640 |
|
free(buf); |
| 7641 |
|
|
| 7642 |
return 0; |
return 0; |
| 7643 |
} |
} |
| 7644 |
|
|