Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/ssh.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4492 by yutakapon, Thu Jun 9 15:25:43 2011 UTC revision 4493 by yutakapon, Fri Jun 10 15:10:49 2011 UTC
# Line 7522  static unsigned __stdcall ssh_scp_thread Line 7522  static unsigned __stdcall ssh_scp_thread
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;
# Line 7531  static unsigned __stdcall ssh_scp_thread Line 7532  static unsigned __stdcall ssh_scp_thread
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    
# Line 7545  static unsigned __stdcall ssh_scp_thread Line 7556  static unsigned __stdcall ssh_scp_thread
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    
# Line 7598  static unsigned __stdcall ssh_scp_thread Line 7609  static unsigned __stdcall ssh_scp_thread
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;
# Line 7612  static unsigned __stdcall ssh_scp_thread Line 7623  static unsigned __stdcall ssh_scp_thread
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:
# Line 7624  cancel_abort: Line 7637  cancel_abort:
7637    
7638  abort:  abort:
7639    
7640            free(buf);
7641    
7642          return 0;          return 0;
7643  }  }
7644    

Legend:
Removed from v.4492  
changed lines
  Added in v.4493

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26