- May 19, 2023
-
-
Ing. Michal Svamberg authored
-
Ing. Michal Svamberg authored
-
Ing. Michal Svamberg authored
-
Ing. Michal Svamberg authored
-
Ing. Michal Švamberg authored
-
Ing. Michal Švamberg authored
-
Ing. Michal Svamberg authored
-
- Apr 02, 2023
-
-
Yorhel authored
Hopefully fixes #221.
-
- Mar 09, 2023
-
-
Florian Schmaus authored
The ZIG variable helps to test ncdu with different zig installations, and it allows Gentoo to inject the zig version that should be used to build zig into the Makefile. Also add a phony 'build' target as first target to the Makefile so that it becomes the default target. This allows the Gentoo package to use the default src_compile() function. See also https://bugs.gentoo.org/900547
-
- Mar 05, 2023
-
-
Yorhel authored
-
- Mar 03, 2023
-
-
Yorhel authored
More visible than just bold.
-
- Feb 22, 2023
-
-
Carlo Cabrera authored
This is useful for building binary distributions because it allows references to library dependendencies on the build machine to be rewritten appropriately upon installation on the user's machine. Zig also does this in their `build.zig`: https://github.com/ziglang/zig/blob/b52be973dfb7d1408218b8e75800a2da3dc69108/build.zig#L551-L554
-
- Jan 19, 2023
- Jan 11, 2023
-
-
Yorhel authored
With a little help from IRC: <ifreund> Ayo: its probaly stupidly copying that array to the stack to do the safety check, pretty sure there's an open issue on this still <ifreund> you may be able to work around the compiler's stupidity by using a pointer to the array or slice or something <Ayo> ifreund: Yup, (&self.rdbuf)[self.rdoff] does the trick, thanks. <ifreund> no problem! should get fixed eventually
-
Yorhel authored
-
- Nov 02, 2022
-
-
Yorhel authored
Interesting case of https://ziglang.org/download/0.10.0/release-notes.html#Escaped-Pointer-to-Parameter
-
Yorhel authored
-
Yorhel authored
Still using a few embedded packed structs for those fields that benefit from bit packing. This isn't much cleaner than using packed structs for everything, but it does have better semantics. In particular, all fields (except those inside nested packed structs) are now guaranteed to be byte-aligned and I don't have to worry about the memory representation of integers when pointer-casting between the different Entry types.
-
- Oct 26, 2022
- Oct 25, 2022
-
-
Yorhel authored
-
- Oct 23, 2022
-
- Oct 17, 2022
-
-
Yorhel authored
-
- Oct 16, 2022
-
-
Yorhel authored
-
- Oct 15, 2022
-
-
Torbjörn Lönnemark authored
Zig requires alignment to be specified when specifying a fill character, as otherwise digits specified after ':' are interpreted as part of the field width. The missing alignment specifier caused character codes < 0x10 to be serialized incorrectly, producing an export file ncdu could not import. For example, a character with code 1 would be serialized as '\u00 1' instead of '\u0001'. A directory of test files can be generated using: mkdir test_files; i=1; while [ $i -le 255 ]; do c="$(printf "$(printf "\\\\x%02xZ" "$i")")"; c="${c%Z}"; touch "test_files/$c"; i=$((i+1)); done
-
- Aug 10, 2022
-
-
Yorhel authored
Behavioral changes: - A single wildcard ('*') does not cross directory boundary anymore. Previously 'a*b' would also match 'a/b', but no other tool that I am aware of matches paths that way. This change breaks compatibility with old exclude patterns but improves consistency with other tools. - Patterns with a trailing '/' now prevent recursing into the directory. Previously any directory excluded with such a pattern would show up as a regular directory with all its contents excluded, but now the directory entry itself shows up as excluded. - If the path given to ncdu matches one of the exclude patterns, the old implementation would exclude every file/dir being read, this new implementation would instead ignore the rule. Not quite sure how to best handle this case, perhaps just exit with an error message? Performance wise, I haven't yet found a scenario where this implementation is slower than the old one and it's *significantly* faster in some cases - in particular when using a large amount of patterns, especially with literal paths and file names. That's not to say this implementation is anywhere near optimal: - A list of relevant patterns is constructed for each directory being scanned. It may be possible to merge pattern lists that share the same prefix, which could both reduce memory use and the number of patterns that need to be matched upon entering a directory. - A hash table with dynamic arrays as values is just garbage from a memory allocation point of view. - This still uses libc fnmatch(), but there's an opportunity to precompile patterns for faster matching.
-
- Aug 08, 2022
-
-
Yorhel authored
The other files were already indirectly referenced, but it's good to make it explicit.
-
- Jun 15, 2022
-
-
Yorhel authored
Based on #204.
-
- Apr 28, 2022
-
-
Yorhel authored
-
Yorhel authored
I wasn't planning on (publicly) keeping up with Zig master before the next release, but it's looking like 0.10 will mainly focus on the new stage2 compiler and there might not be any significant language/stdlib changes. If that's the case, might as well pull in this little change in order to increase chances of ncdu working out of the box when 0.10 is out.
-
- Apr 16, 2022
-
-
Yorhel authored
Fixes #199. That's not to say it handles variation selectors or combining marks well, though. This is kind of messy. :(
-
- Mar 25, 2022
-
-
Yorhel authored
-
- Mar 24, 2022
-
-
Yorhel authored
While it's true that the root item can't be a special, the first item to be added is not necessarily the root item. In particular, it isn't when refreshing. Probably fixes #194
-
- Mar 16, 2022
-
-
Yorhel authored
Because, even in 2022, there are systems where the libc locale is not, in fact, UTF-8. Fixes #186.
-
- Mar 14, 2022
-
-
Yorhel authored
-
Phil Jones authored
Change "eigth-block" to "eighth-block"
-
- Feb 07, 2022
-
-
Yorhel authored
-