src/filemanager/file.c (do_search): the algorithm executes mc_stat() on
a file (directory) and checks number of links. It assumes number of
links minus 2 is number of subdirectories available for recursive
search. While that assumption is valid on probably all Linux
filesystems, it is not valid on mounted Samba shares. For these, number
of links (as reported by stat or seen by 'ls -l') is not 1 for most
files and 2+ for directories, but zero for all files and directories
within the share (I guess that is how the kenrel samba module works
...). Therefore the optimization (that may limit the recursion) done by
subdirs_left breaks the recursive search.
Also this patch fixes recursive search on NFS shares provided by Windows
2012R2 NFS service (ticket #3202).
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
If some string isn't found it is a normal situation, not en error.
So show "String not found" message as normal dialog not as error one.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* Consistent indentation: All skins use now 4 spaces (the default of
mcedit). This makes it easier to copy-paste sections from one skin to
another, while maintaining consistency.
* Spaces around the '=' sign. The version with spaces is more
readable, especially around double line characters.
* Make the order of the sections consistent across all skins.
* In [menu], swap the order of "menusel" and "menuhot" to make the
order consistent with the [dialog] and [error] sections.
* Add the missing "helptitle" to sand256 skin. This is the only
functional change.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
The "topmiddle" and "bottommiddle" characters are defined incorrectly
in many skins. This is because the correct definition wouldn't work
with S-Lang build. The only place these characters are used is the
diffviewer if either the +/- signs or the line numbers are shown,
enabled by pressing S or L. The correct definition of these characters
currently show up as 'v' and 'w' characters.
The fix makes the diffviewer use tty_print_alt_char() as it is being used
in other parts of the code, and hence it fixes the bug.
It also fixes the skin definitions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Segfault was caused by using data from already free()-d memory
in /src/vfs/sftpfs/file.c. sftpfs_lseek() accessed a memory block,
which was previously deallocated by sftpfs_reopen().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* 3113_cleanup:
From ticket #3116: attempt to fix segfault while passing messages to widgets.
From ticket #3116: fix segfault in cpio VFS while reading corrupted RPM.
From ticket #3116: fix possible segfault when freeing a VFS.
Ticket #3151: lib/global.h: remove declaration of refresh_screen().
Collapse list of copyright years to ranges. Add 2014 year.
Ticket #3134: fix some inconsistencies in "Learn keys" UI.
Ticket #3133: keypad '*' doesn't work with numlock off.
Ticket #3132: exit without confirmation by default.
(panel_operate): variable clean up.
(move_dir_dir): variable clean up.
src/filemanager/file.c: tweak indentation.
doc/NEWS: cosmetics.
src/editor/editbuffer.c: typo.
Use symbolic names for standard file descriptors.
(setup_cmdline): fixup of prompt truncation.
Clarify --skin key in RU man page.
Ticket #3073: clarify regex in urar helper.
(panel_compute_totals): fix display of directory scanning statistics.
Ticket #3113: code cleanup before 4.8.12 release.