tightvnc-filetransfer: refactor CloseUndoneFileTransfer() into two functions

...for closing upload and download separately.

re #242
pull/3/head
Christian Beier 6 years ago
parent 89419fb1a0
commit f8912fee5a
No known key found for this signature in database
GPG Key ID: 421BB3B45C6067F8

@ -672,7 +672,7 @@ ChkFileUploadWriteErr(rfbClientPtr cl, rfbTightClientPtr rtcp, char* pBuf)
char reason[] = "Error writing file data"; char reason[] = "Error writing file data";
int reasonLen = strlen(reason); int reasonLen = strlen(reason);
ftm = CreateFileUploadErrMsg(reason, reasonLen); ftm = CreateFileUploadErrMsg(reason, reasonLen);
CloseUndoneFileTransfer(cl, rtcp); CloseUndoneFileUpload(cl, rtcp);
} }
return ftm; return ftm;
} }
@ -735,7 +735,7 @@ CreateFileUploadErrMsg(char* reason, unsigned int reasonLen)
******************************************************************************/ ******************************************************************************/
void void
CloseUndoneFileTransfer(rfbClientPtr cl, rfbTightClientPtr rtcp) CloseUndoneFileUpload(rfbClientPtr cl, rfbTightClientPtr rtcp)
{ {
/* TODO :: File Upload case is not handled currently */ /* TODO :: File Upload case is not handled currently */
/* TODO :: In case of concurrency we need to use Critical Section */ /* TODO :: In case of concurrency we need to use Critical Section */
@ -759,6 +759,14 @@ CloseUndoneFileTransfer(rfbClientPtr cl, rfbTightClientPtr rtcp)
memset(rtcp->rcft.rcfu.fName, 0 , PATH_MAX); memset(rtcp->rcft.rcfu.fName, 0 , PATH_MAX);
} }
}
void
CloseUndoneFileDownload(rfbClientPtr cl, rfbTightClientPtr rtcp)
{
if(cl == NULL)
return;
if(rtcp->rcft.rcfd.downloadInProgress == TRUE) { if(rtcp->rcft.rcfd.downloadInProgress == TRUE) {
rtcp->rcft.rcfd.downloadInProgress = FALSE; rtcp->rcft.rcfd.downloadInProgress = FALSE;

@ -51,7 +51,8 @@ FileTransferMsg ChkFileUploadWriteErr(rfbClientPtr cl, rfbTightClientPtr data, c
void CreateDirectory(char* dirName); void CreateDirectory(char* dirName);
void FileUpdateComplete(rfbClientPtr cl, rfbTightClientPtr data); void FileUpdateComplete(rfbClientPtr cl, rfbTightClientPtr data);
void CloseUndoneFileTransfer(rfbClientPtr cl, rfbTightClientPtr data); void CloseUndoneFileUpload(rfbClientPtr cl, rfbTightClientPtr data);
void CloseUndoneFileDownload(rfbClientPtr cl, rfbTightClientPtr data);
void FreeFileTransferMsg(FileTransferMsg ftm); void FreeFileTransferMsg(FileTransferMsg ftm);

@ -492,7 +492,7 @@ RunFileDownloadThread(void* client)
if(cl != NULL) { if(cl != NULL) {
rfbCloseClient(cl); rfbCloseClient(cl);
CloseUndoneFileTransfer(cl, rtcp); CloseUndoneFileDownload(cl, rtcp);
} }
FreeFileTransferMsg(fileDownloadMsg); FreeFileTransferMsg(fileDownloadMsg);
@ -592,7 +592,7 @@ HandleFileDownloadCancelRequest(rfbClientPtr cl, rfbTightClientPtr rtcp)
" reason <%s>\n", __FILE__, __FUNCTION__, reason); " reason <%s>\n", __FILE__, __FUNCTION__, reason);
pthread_mutex_lock(&fileDownloadMutex); pthread_mutex_lock(&fileDownloadMutex);
CloseUndoneFileTransfer(cl, rtcp); CloseUndoneFileDownload(cl, rtcp);
pthread_mutex_unlock(&fileDownloadMutex); pthread_mutex_unlock(&fileDownloadMutex);
if(reason != NULL) { if(reason != NULL) {
@ -835,7 +835,7 @@ HandleFileUploadDataRequest(rfbClientPtr cl, rfbTightClientPtr rtcp)
FreeFileTransferMsg(ftm); FreeFileTransferMsg(ftm);
} }
CloseUndoneFileTransfer(cl, rtcp); CloseUndoneFileUpload(cl, rtcp);
if(pBuf != NULL) { if(pBuf != NULL) {
free(pBuf); free(pBuf);
@ -935,7 +935,7 @@ HandleFileUploadFailedRequest(rfbClientPtr cl, rfbTightClientPtr rtcp)
rfbLog("File [%s]: Method [%s]: File Upload Failed Request received:" rfbLog("File [%s]: Method [%s]: File Upload Failed Request received:"
" reason <%s>\n", __FILE__, __FUNCTION__, reason); " reason <%s>\n", __FILE__, __FUNCTION__, reason);
CloseUndoneFileTransfer(cl, rtcp); CloseUndoneFileUpload(cl, rtcp);
if(reason != NULL) { if(reason != NULL) {
free(reason); free(reason);

Loading…
Cancel
Save