+ {
+ if (Itm == 0)
+ {
+ _error->Error("Method gave invalid 201 URI Done message");
+ break;
+ }
+
+ pkgAcquire::Item *Owner = Itm->Owner;
+ pkgAcquire::ItemDesc Desc = *Itm;
+
+ // Display update before completion
+ if (Log != 0 && Log->MorePulses == true)
+ Log->Pulse(Owner->GetOwner());
+
+ OwnerQ->ItemDone(Itm);
+ if (TotalSize != 0 &&
+ (unsigned)atoi(LookupTag(Message,"Size","0").c_str()) != TotalSize)
+ _error->Warning("Bizarre Error - File size is not what the server reported %s %lu",
+ LookupTag(Message,"Size","0").c_str(),TotalSize);
+
+ Owner->Done(Message,atoi(LookupTag(Message,"Size","0").c_str()),
+ LookupTag(Message,"MD5-Hash"),Config);
+ ItemDone();
+
+ // Log that we are done
+ if (Log != 0)
+ {
+ if (StringToBool(LookupTag(Message,"IMS-Hit"),false) == true ||
+ StringToBool(LookupTag(Message,"Alt-IMS-Hit"),false) == true)
+ {
+ /* Hide 'hits' for local only sources - we also manage to
+ hide gets */
+ if (Config->LocalOnly == false)
+ Log->IMSHit(Desc);
+ }
+ else
+ Log->Done(Desc);
+ }
+ break;
+ }