1
1
Граф коммитов

388 Коммитов

Автор SHA1 Сообщение Дата
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
Yorhel
1739ee74d6 Updated manpage to reflect the removal of the 1000/1024 switch 2009-04-19 14:56:50 +02:00
Yorhel
d75cc8fb72 Replace 'suseconds_t' with 'long'
suseconds_t isn't always defined on some systems, but all possible
values are guaranteed to fit into a long, so use that.
2009-04-19 14:29:49 +02:00
Yorhel
97fefbaffb Disabled blocking wait for user input while deleting
...that was for debugging, which isn't necessary anymore.
2009-04-19 13:17:21 +02:00