… | |
… | |
556 | */ |
556 | */ |
557 | if ((sack->type == CONTAINER) && !sack_can_hold (op, sack, tmp, (nrof ? nrof : tmp->nrof))) |
557 | if ((sack->type == CONTAINER) && !sack_can_hold (op, sack, tmp, (nrof ? nrof : tmp->nrof))) |
558 | return; |
558 | return; |
559 | |
559 | |
560 | if (QUERY_FLAG (tmp, FLAG_APPLIED)) |
560 | if (QUERY_FLAG (tmp, FLAG_APPLIED)) |
561 | if (apply_special (op, tmp, AP_UNAPPLY | AP_NO_MERGE)) |
561 | if (!op->apply (tmp, AP_UNAPPLY | AP_NO_MERGE)) |
562 | return; |
562 | return; |
563 | |
563 | |
564 | /* we want to put some portion of the item into the container */ |
564 | /* we want to put some portion of the item into the container */ |
565 | if (!can_split (op, tmp, nrof)) |
565 | if (!can_split (op, tmp, nrof)) |
566 | return; |
566 | return; |
… | |
… | |
635 | { |
635 | { |
636 | if (QUERY_FLAG (tmp, FLAG_NO_DROP)) |
636 | if (QUERY_FLAG (tmp, FLAG_NO_DROP)) |
637 | return; |
637 | return; |
638 | |
638 | |
639 | if (QUERY_FLAG (tmp, FLAG_APPLIED)) |
639 | if (QUERY_FLAG (tmp, FLAG_APPLIED)) |
640 | if (apply_special (op, tmp, AP_UNAPPLY | AP_NO_MERGE)) |
640 | if (!op->apply (tmp, AP_UNAPPLY | AP_NO_MERGE)) |
641 | return; /* can't unapply it */ |
641 | return; /* can't unapply it */ |
642 | |
642 | |
643 | /* We are only dropping some of the items. We split the current object |
643 | /* We are only dropping some of the items. We split the current object |
644 | * off |
644 | * off |
645 | */ |
645 | */ |