rendered paste bodyIndex: src/server/psserverchar.cpp===================================================================--- src/server/psserverchar.cpp (revision 5332)+++ src/server/psserverchar.cpp (working copy)@@ -872,7 +872,7 @@ if (stackable) // if it's stackable, try to add in on existing stacks, first {- for (psItem * newstack; newstack = character->Inventory().AddStacked(currentitem, partcount); )+ for (psItem * newstack; (newstack = character->Inventory().AddStacked(currentitem, partcount)); ) { newcount += partcount; Index: src/server/bulkobjects/pscharinventory.cpp===================================================================--- src/server/bulkobjects/pscharinventory.cpp (revision 5332)+++ src/server/bulkobjects/pscharinventory.cpp (working copy)@@ -592,12 +592,12 @@ for (size_t i = 0; i < itemIndices.GetSize() && max < item->GetStackCount(); i++) { psItem * tocheck = inventory[itemIndices[i]].item;- int fits = MAX_STACK_COUNT - tocheck->GetStackCount();+ size_t fits = MAX_STACK_COUNT - tocheck->GetStackCount(); if (tocheck->GetContainerID()) {- int size = GetContainedSize(FindItemID(tocheck->GetContainerID())) - FindItemID(tocheck->GetContainerID())->GetContainerMaxSize();- if(size/item->GetItemSize() > fits)+ size_t size = FindItemID(tocheck->GetContainerID())->GetContainerMaxSize() - GetContainedSize(FindItemID(tocheck->GetContainerID()));+ if(size/item->GetItemSize() < fits) fits = size/item->GetItemSize(); } @@ -617,6 +617,7 @@ if(Add(newstack, false, true)) { added = max;+ printf("partially addedd %u items\n", added); return newstack; } else // this really should never happen, but just in case