Age | Commit message (Collapse) | Author |
|
In case of error return non-zero value instead of cleaning up navigator. This
way main loop may do some more cleanup, or maybe even act differently.
|
|
Implementation details should not leak to other parts of the code.
While at it, clean up initialization and destruction of navigator.
|
|
|
|
This change effectively backs out f1737ddd06141afbe99f37af3b5c2d0f1df5fe7a,
implementing the same functionality in a simpler and more correct way.
Implementation details:
* imv_navigator.wrapped - a new field that has value "0" by default; once
navigator wraps around the list, this field recieves value "1".
* imv_navigator_wrapped(&nav) - a new function that returns non-zero value iff
navigator wrapped around the list. Currently just returns value of
imv_navigator.wrapped.
While at it, expanded "test_navigator_remove" and merged it with
"test_navigator_add". Resulting test is called "test_navigator_add_remove".
Fixes #94.
|
|
When non-cycling mode prevents navigator from wrapping to the other end of list,
undo change to nav->cur_path. Otherwise it will remain out-of-bounds, so that
subsequent calls to navigator functions may produce unexpected results, up to
segmentation violation.
Fixes #93
|
|
|
|
|
|
|
|
|
|
Add 8-bit variable that is passed to imv_navigator_poll_changed(). Decrement it
on each run of main loop. When it gets to 0, call stat(2).
|
|
|
|
Exit(3) if memory allocation fails.
|
|
Makes file monitoring in imv completely POSIX.
|
|
It may save some CPU cycles if there is enough space to grow the array without
copying memory chunks. Two side effects of the change: proper error checking
added and dangerous memcpy(3) call removed.
|
|
|
|
|
|
|
|
|
|
|
|
Fixes #36
|
|
|
|
|
|
|