Skip to content

Pretty stable, functionality wise. Hopefully fixes issue #3.

Pre-release
Pre-release
Compare
Choose a tag to compare
@ariccio ariccio released this 10 Feb 09:23
· 168 commits to master since this release

There are too many commits to properly summarize here, but I'll try :)

I cleaned up some MFC warnings, and fixed a really subtle & annoying bug, that was only obvious by running the program ( the source looked fine! ), in commit 639fefc .

I removed some of the horrible global variables that are present from the original WDS (see 45b72d9 , b7f784e , and 113b38b ).

I also refactored tons of "arrow" code, code which was threatening my mental health (see 608a0da , 09e3df3 , 1992b56 , 85e3ac6 28acc8d , 2c0a187 , and 0fa4f19 ).

[...]If you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.
Linus Torvalds

I believe that I fixed issue #3 in 85e3ac6 .

I also generalized some functions with template metaprogramming, of course with a generous use of static_asserts ( see 5c649d2 ), and cleaned up some code duplication that was the RESULT of inheritance (ha! take that, OOP!), ( see 632d73f ).

item.cpp was getting big, and the item.asm output that the compiler generated (I frequently inspect the generated code) actually got too big to open in Notepad++, so I moved the directory enumeration code into it's own file ( see 1a022cb ).

I've also turned on some security features that are newly present in Windows 8 (not supported on Win 7, Win Vista, etc...), so altWinDirStat will benefit from the newly "electrified" fences. Not that we're doing anything dangerous, like parsing untrusted data, but we still want to be as secure as possible. It's just the responsible thing to do. See d67a93d for the commit in question.

Lastly, one of my intentions in all this refactoring is

  1. to enable a saneproper fix of issue #2 .
  2. to add a new feature, display of NTFS compression efficiency, which I think would be quite useful, and absolutely within the scope of WDS's mission. I can't do this without a straightforward TreeListControl, and we're not there just quite yet.

(side note: do y'all really need a 32-bit build? 64-bit builds have access to twice as many registers, and are thus faster! It's 2015.)