svnno****@sourc*****
svnno****@sourc*****
2017年 2月 12日 (日) 20:30:46 JST
Revision: 6586 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6586 Author: yutakapon Date: 2017-02-12 20:30:46 +0900 (Sun, 12 Feb 2017) Log Message: ----------- チケット #36950 SSH SCPでファイルエラー時でもファイルが生成される ファイル受信に失敗した場合、ローカルファイルの残骸を削除するようにした。 Ticket Links: ------------ http://sourceforge.jp/projects/ttssh2/tracker/detail/36950 Modified Paths: -------------- trunk/ttssh2/ttxssh/ssh.c -------------- next part -------------- Modified: trunk/ttssh2/ttxssh/ssh.c =================================================================== --- trunk/ttssh2/ttxssh/ssh.c 2017-02-01 00:52:48 UTC (rev 6585) +++ trunk/ttssh2/ttxssh/ssh.c 2017-02-12 11:30:46 UTC (rev 6586) @@ -273,6 +273,7 @@ static void ssh2_channel_delete(Channel_t *c) { bufchain_t *ch, *ptr; + enum scp_state prev_state; ch = c->bufchain; while (ch) { @@ -284,6 +285,9 @@ } if (c->type == TYPE_SCP) { + // SCP\x8F\x88\x97\x9D\x82̍Ō\xE3\x82̏\xF3\x91Ԃ\xF0\x95ۑ\xB6\x82\xB7\x82\xE9\x81B + prev_state = c->scp.state; + c->scp.state = SCP_CLOSING; if (c->scp.localfp != NULL) { fclose(c->scp.localfp); @@ -294,6 +298,11 @@ filetime.modtime = c->scp.filemtime; _utime(c->scp.localfilefull, &filetime); } + + // SCP\x8E\xF3\x90M\x82\xAA\x90\xAC\x8C\x{1C2D42}Ă\xA2\x82Ȃ\xAF\x82\xEA\x82A\x83\x8D\x81[\x83J\x83\x8B\x82ɍ\xEC\x82\xC1\x82\xBD\x83t\x83@\x83C\x83\x8B\x82̎c\x8A[\x82\xF0\x8D폜\x82\xB7\x82\xE9\x81B + // (2017.2.12 yutaka) + if (prev_state != SCP_CLOSING) + remove(c->scp.localfilefull); } } if (c->scp.progress_window != NULL) {