From 794c3e0286c6010b2504382a43865d0907db8320 Mon Sep 17 00:00:00 2001 From: fredrik Date: Sat, 22 Oct 2005 23:53:46 +0000 Subject: [PATCH] Store transfer hashes. git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@410 959494ce-11ee-0310-bf91-de5d638817bd --- lib/uimisc.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/uimisc.c b/lib/uimisc.c index 6a759be..be10115 100644 --- a/lib/uimisc.c +++ b/lib/uimisc.c @@ -778,6 +778,13 @@ static int gettrlistcallback(struct dc_response *resp) transfer->state = ires->argv[2].val.num; transfer->size = ires->argv[6].val.num; transfer->curpos = ires->argv[7].val.num; + if(transfer->hash != NULL) + { + free(transfer->hash); + transfer->hash = NULL; + } + if(wcslen(ires->argv[8].val.str) > 0) + transfer->hash = swcsdup(ires->argv[8].val.str); } else { transfer = newtransfer(); transfer->id = ires->argv[0].val.num; @@ -788,6 +795,8 @@ static int gettrlistcallback(struct dc_response *resp) transfer->path = swcsdup(ires->argv[5].val.str); transfer->size = ires->argv[6].val.num; transfer->curpos = ires->argv[7].val.num; + if(wcslen(ires->argv[8].val.str) > 0) + transfer->hash = swcsdup(ires->argv[8].val.str); transfer->found = 1; } dc_freeires(ires); @@ -930,6 +939,18 @@ void dc_uimisc_handlenotify(struct dc_response *resp) if((transfer = dc_findtransfer(ires->argv[0].val.num)) != NULL) freetransfer(transfer); break; + case 618: + if((transfer = dc_findtransfer(ires->argv[0].val.num)) != NULL) + { + if(transfer->hash != NULL) + { + free(transfer->hash); + transfer->hash = NULL; + } + if(wcslen(ires->argv[1].val.str) > 0) + transfer->hash = swcsdup(ires->argv[1].val.str); + } + break; default: break; } -- 2.11.0