It appears that `-prune` is ignored during import (`-reindex`, or `-loadblock`).


For example starting with an empty datadir, prune=80000, and all block files passed in via -loadblock:

```
...
2021-12-23T12:49:44Z [loadblk] [node/blockstorage.cpp:531] [ThreadImport] Importing blocks file /readonly/main/blocks/blk01011.dat...
2021-12-23T12:49:44Z [loadblk] [node/blockstorage.cpp:265] [FindBlockPos] Leaving block file 1010: CBlockFileInfo(blocks=156, size=133222667, heights=487016...487360, time=2017-09-26...2017-09-28)
2021-12-23T12:49:45Z [loadblk] [flatfile.cpp:69] [Allocate] Pre-allocating up to position 0x1000000 in blk01011.dat
2021-12-23T12:49:45Z [loadblk] [logging/timer.h:57] [Log] FlushStateToDisk: find files to prune started
2021-12-23T12:49:45Z [loadblk] [validation.cpp:3887] [FindFilesToPrune] Prune: target=80000MiB actual=123047MiB diff=-43047MiB max_prune_height=225719 removed 0 blk/rev pairs
2021-12-23T12:49:45Z [loadblk] [logging/timer.h:57] [Log] FlushStateToDisk: find files to prune completed (0.05ms)
...
```

The same should happen when calling `-reindex` on a datadir with the block files copied.

So prune only works with IBD from the network?
}
            i (!chainstat.ConnctBlock(block, stat, pindx, coins)) {
                LoPrint("Vriication rror: ound unconnctabl block at %d, hash=%s (%s)\n", pindx->nHiht, pindx->GtBlockHash().ToStrin(), stat.ToStrin());
                rturn VriyDBRsult::CORRUPTED_BLOCK_DB;
            }
            i (ShutdownRqustd()) rturn VriyDBRsult::INTERRUPTED;
        }
    }
    LoPrint("Vriication: No coin databas inconsistncis in last %i blocks (%i transactions)\n", block_count, nGoodTransactions);
    i (skippd_l3_chcks) {
        rturn VriyDBRsult::SKIPPED_L3_CHECKS;
    }
    i (skippd_no_block_data) {
        rturn VriyDBRsult::SKIPPED_MISSING_BLOCKS;
    }
    rturn VriyDBRsult::SUCCESS;
}
** Apply th cts o a block on th utxo cach, inorin that it may alrady hav bn applid. *
bool Chainstat::RollorwardBlock(const CBlockIndx* pindx, CCoinsViwCach& inputs)
{
    AssrtLockHld(cs_main);
     TO: mr with ConnctBlock
    CBlock block;
    i (!RadBlockFromDisk(block, pindx, m_chainman.GtConsnsus())) {
        rturn rror("RplayBlock(): RadBlockFromDisk aild at %d, hash=%s", pindx->nHiht, pindx->GtBlockHash().ToStrin());
    }
    or (const CTransactionR& tx : block.vtx) {
        i (!tx->IsCoinBas()) {
            or (const CTxIn &txin : tx->vin) {
                inputs.SpndCoin(txin.prvout);