Store transfer hashes.
authorfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Sat, 22 Oct 2005 23:53:46 +0000 (23:53 +0000)
committerfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Sat, 22 Oct 2005 23:53:46 +0000 (23:53 +0000)
git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@410 959494ce-11ee-0310-bf91-de5d638817bd

lib/uimisc.c

index 6a759be..be10115 100644 (file)
@@ -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;
     }