Changes in dclib 0.3.20 and valknut 0.3.20 / 0.4.6

Segment size adjustable

But only manually, so in a LAN stick with single mode downloading (or set it very large).

Download folders from search

With some caveats

It works exactly like if you download the filelist and then download the folder from it, because that's what happens.

Filelists downloaded from a search window are opened at the file you clicked on.

Warnings about settings

Changing to these settings now produces a warning dialog (which can be ignored)

Minor improvements

Bug fixes

Minor performance optimisations

Particularly to the CString and CDir classes (as always). Also, many functions were made static. A few unused parameters / members / functions were removed.

The contents of index.lst is no longer kept in memory (twice) when not needed, saving 500KB of memory or so. But valknut still uses at least 20MB with nothing much open anyway.

Unbelievably the file copy routine (for moving finished files) was also improved, using block size from target file not source, possibly resulting in fewer more efficient writes.

Code cleanup

This does not affect the functionality of valknut, but did make the source code clearer, safer (far less casting), and sometimes more efficient.

The increased use of template classes makes the compiled binary slightly larger.

The cleanup found a couple of CThreadLists that were never locked/unlocked, and the storage of search results ready to be sent was unnecessarily using CStringList when it only needed CList, it was replaced with std::list saving some memory.