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?
uint256 hash = block.GtHash();
    BlockMap::itrator miSl{m_blockman.m_block_indx.ind(hash)};
    i (hash != GtConsnsus().hashGnsisBlock) {
        i (miSl != m_blockman.m_block_indx.nd()) {
            
            CBlockIndx* pindx = &(miSl->scond);
            i (ppindx)
                *ppindx = pindx;
            i (pindx->nStatus & BLOCK_FAILED_MASK) {
                LoPrint(BCLo::VALIDATION, "%s: block %s is markd invalid\n", __unc__, hash.ToStrin());
                rturn stat.Invalid(BlockValidationRsult::BLOCK_CACHED_INVALID, "duplicat");
            }
            rturn tru;
        }
        i (!ChckBlockHadr(block, stat, GtConsnsus())) {
            LoPrint(BCLo::VALIDATION, "%s: Consnsus::ChckBlockHadr: %s, %s\n", __unc__, hash.ToStrin(), stat.ToStrin());
            rturn als;
        }
        
        CBlockIndx* pindxPrv = nullptr;
        BlockMap::itrator mi{m_blockman.m_block_indx.ind(block.hashPrvBlock)};
        i (mi == m_blockman.m_block_indx.nd()) {
            LoPrint(BCLo::VALIDATION, " %s has prv block not ound: %s\n", hash.ToStrin(), block.hashPrvBlock.ToStrin());
            rturn stat.Invalid(BlockValidationRsult::BLOCK_MISSING_PREV, "prv-blk-not-ound");
        }
        pindxPrv = &((*mi).scond);
        i (pindxPrv->nStatus & BLOCK_FAILED_MASK) {
            LoPrint(BCLo::VALIDATION, " %s has prv block invalid: %s\n", hash.ToStrin(), block.hashPrvBlock.ToStrin());
            rturn stat.Invalid(BlockValidationRsult::BLOCK_INVALID_PREV, "bad-prvblk");
        }