Yorhel
a0bf6deebb
Removed reliance on dirfd()
2009-05-16 10:20:58 +02:00
Yorhel
aef88fb773
Removed the ST_QUIT state
...
There shouldn't be a need for such a state when there's a central
place where the program execution keeps returning to.
2009-05-12 19:06:15 +02:00
Yorhel
9d07027553
calc.c: Removed an unused variable in calc_item()
2009-05-12 18:39:00 +02:00
Yorhel
2828bfe6a8
util.h: Typo in function declaration
2009-05-12 18:37:49 +02:00
Yorhel
06a5f5215f
Properly select the next item after deletion
...
Setting FF_BSEL after calling browse_init() causes two items to be
selected, as browse_init() makes sure something will be selected,
while calc_process() assumes nothing is, because the previously
selected item had just been deleted.
2009-05-11 20:14:52 +02:00
Yorhel
6de0a8ec00
Use correct hard link information after partial recalculation or deletion
...
Hard link detection is now done in a separate pass on the in-memory tree,
and duplicates can be 'removed' and 're-added' on the fly. When making any
changes in the tree, all hard links are re-added before the operation and
removed again afterwards.
While this guarantees that all hard link information is correct, it does
have a few drawbacks. I can currently think of two:
1. It's not the most efficient way to do it, and may be quite slow on
large trees. Will have to do some benchmarks later to see whether
it is anything to be concerned about.
2. The first encountered item is considered as 'counted' and all items
encountered after that are considered as 'duplicate'. Because the
order in which we traverse the tree doesn't always have to be the
same, the items that will be considered as 'duplicate' can vary with
each deletion or re-calculation. This might cause confusion for
people who aren't aware of how hard links work.
2009-05-11 20:02:46 +02:00
Yorhel
8209a7efe3
Allocate correct amount of memory for the links list
...
I happen to make these kinds of mistakes a lot, for some strange
reason. Maybe I should just get more sleep...
2009-05-05 19:33:30 +02:00
Yorhel
fd984e754c
Added hard link indicator in browser and help window
2009-05-05 19:25:52 +02:00
Yorhel
757bdff7ed
Implemented hardlink detection
2009-05-05 19:13:52 +02:00
Yorhel
188265c594
Version & date bump for ChangeLog and manual page
2009-05-02 13:11:02 +02:00
Yorhel
d571c080b5
Fixed a browsing bug related to hiding items
...
Reproducable with the following steps:
- Make sure the first item in the list is a directory starting with a dot
- Make sure the next item is a normal directory
- Select first item
- Press 'h' to hide it, next item will properly be selected
- Open selected directory (right arrow), and see how the first (hidden)
directory was opened.
It's amazing how I've even found this bug, considering that really is the
only way to reproduce it...
2009-05-02 13:01:12 +02:00
Yorhel
f416a7a121
Removed powers of 1000/1024 toggle from help.c
2009-05-02 12:40:53 +02:00
Yorhel
4ea817568f
Use absolute path for matching excluded items
2009-05-02 10:45:33 +02:00
Yorhel
46de3510cd
Fixed buffer overrun in calc.c
2009-05-02 10:21:29 +02:00
Yorhel
0fe0d11e3b
Don't divide by zero when size of parent dir = 0
...
It's a floating point division, so won't really cause any real problems
on most systems. Still, a percentage of 'nan' isn't really useful.
2009-05-01 09:07:28 +02:00
Yorhel
95b314de73
Fixed line width when displaying 100%
...
Which would happen if there's only one file is in a directory
2009-05-01 09:00:59 +02:00
Yorhel
2d1060709b
Cleaned up configure.in
...
Removed some obsolete macros and added a few more headers and function
checks.
2009-04-30 11:25:06 +02:00
Yorhel
3610121dab
Don't try to delete a directory that's not empty
2009-04-28 11:07:24 +02:00
Yorhel
bba85675a9
Replaced the NEWS file with a symlink pointing to the ChangeLog
2009-04-26 15:48:27 +02:00
Yorhel
ae14721c5f
Fixed segfault after aborting calculation
...
I really, really, wasn't think when writing commit
91b131a080
2009-04-26 15:23:09 +02:00
Yorhel
eb3310060f
Fixed display bug on deletion error
2009-04-26 14:57:20 +02:00
Yorhel
2a5c9a242f
Fixed display of one-component-after-root directory
...
Bug introduced in ece21a668d
It's amazing how many mistakes one person can make in a few hours.
2009-04-26 13:26:20 +02:00
Yorhel
91b131a080
Fixed segault after finishing calculation
...
Bug introduced in 796d043c0d
Apparently I was still sleeping or something...
2009-04-26 13:15:53 +02:00
Yorhel
ece21a668d
Fixed display of the root directory
2009-04-26 13:10:00 +02:00
Yorhel
9cc79b0fab
Properly call calc_leavepath() on error
2009-04-26 12:58:22 +02:00
Yorhel
796d043c0d
Fixed bug with opening the root directory
2009-04-26 12:55:27 +02:00
Yorhel
219ae8a6db
Removed useless call to path_real()
2009-04-26 12:45:42 +02:00
Yorhel
67ce0af650
Fixed bug with configure still relying on ncdu.h
2009-04-26 11:54:27 +02:00
Yorhel
91ad9df126
Updated ChangeLog and TODO
2009-04-26 11:35:03 +02:00
Yorhel
ceecccc3ae
Move cursor to the correct line in browse_draw()
2009-04-26 11:22:24 +02:00
Yorhel
43fec63281
Removed last occurence of PATH_MAX
...
And it wasn't even used for a path, but for a row on the screen...
2009-04-26 11:18:45 +02:00
Yorhel
290c7a7d70
Renamed ncdu.h to global.h and #included all other header files into that
...
So we're actually back to having one header file for everything,
except it's now maintainable.
2009-04-26 11:08:40 +02:00
Yorhel
4b6456d0b9
Improved deletion performance
2009-04-26 10:54:14 +02:00
Yorhel
f6e34e520e
Don't re-sort when pressing the browse keys without affecting the dir
2009-04-26 09:55:23 +02:00
Yorhel
ba243df042
Centralized screen update delay into input_handle()
2009-04-26 09:49:51 +02:00
Yorhel
8ddec92724
Huge performance improvement with the calculation
2009-04-26 09:35:16 +02:00
Yorhel
c079e0d23a
Fixed another memory allocation issue
2009-04-25 16:30:59 +02:00
Yorhel
027c0c2eba
Don't segfault when browsing an empty dir...
2009-04-25 15:46:00 +02:00
Yorhel
3dc21365f5
Fixed another PATH_MAX reliance in calc.c
...
Make sure not to pass the absolute root directory to lstat() and
chdir(), as these functions can't handle long path names.
2009-04-25 14:31:54 +02:00
Yorhel
c432928bd2
Fixed subdirectory name after refresh and a tiny memory leak
2009-04-25 14:29:20 +02:00
Yorhel
2738177fff
Fixed memory overflow bug in path_real_rec()
2009-04-25 14:26:52 +02:00
Yorhel
1f341f8b4c
Fixed segfault on specifying an empty dir
2009-04-25 12:11:53 +02:00
Yorhel
18211ebe2e
Properly chdir() before lstat()
2009-04-25 11:49:20 +02:00
Yorhel
00217dd86e
Fixed segfault on specifying a dir to process from cli
2009-04-24 18:18:17 +02:00
Yorhel
124296ee19
Fixed infinite calc_process() on error
2009-04-24 18:17:34 +02:00
Yorhel
731bfccfb5
Removed PATH_MAX reliance in main.c
2009-04-23 22:12:50 +02:00
Yorhel
5c6f057840
Fixed a few occurences of wrong arguments for getpath()
...
That's what you get when you change the way a function works...
2009-04-23 22:03:24 +02:00
Yorhel
4bb7d6b7c2
Removed reliance on PATH_MAX on most places
...
ncdu already does seem to handle longer paths now, though there are
still a few places where the code still relies on PATH_MAX. Will fix
those later.
2009-04-23 21:15:11 +02:00
Yorhel
bb7119c642
main.c should include help.h
2009-04-23 20:47:01 +02:00
Yorhel
7698bfd980
Split path handling into path.c and replaced rpath() with a better implementation
...
This is the first step into replacing all code that relies on PATH_MAX,
more changes will follow.
2009-04-23 19:44:37 +02:00