If edit->column_highlight is on and the disk is so full that the editor
is unable even to write the magic (r <= 0), then subsequent if (len)
check might fail, since the value of len is undefined.
The solution is to initialize len with a non-zero value, so that the
function properly returns an error value in all cases (adding an
explicit return 0; is also possible, but then one must take care of
closing file descriptors, which is less convenient).
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
If mcedit is configured to use "Safe save" I'm unable to save changes to existing file.
Same problem is for editor_option_save_mode=2 (backup mode)
Saving to new file works.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
* F3/F4 on 'del' and 0-length files works, however it is impossible to change 'del'
files (cached content can be confusing)
* Koala files and other with non-ASCII characters are supported (implemented directory
reading routine in pure python - for now only D64 format is supported)
* Added workaround for filenames with space at the beginning (however, as it was stressed
before, it is more generic issue than this script. Maybe it is good idea to use pcre
instead of iterating and splitting?)
* minor bugfixes and code cleanup
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Due to date formatting, uc1541 extfs plugin is unusable, even tough the date formatting,
which is the one cause of the problem is coherent with the attached documentation (MM-DD-YYYY hh:mm).
Another problem with uc1541 script is connected rather with legal characters used in filename
rather than with script itself - in PET ASCII it is perfectly fine to use slash "/" character
in filenames, and as a side effect all files containing slash inside d64 image are represented
as directories on MC.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Added feature for the mcdiff for the bidirectional merge.
With F15 mcdiffviewer merge left panel to right panel direction.
original patch by Gergely Szasz <szaszg@hu.inter.net>
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
added bind "MergeOther" into mc.keymap.default, mc.keymap.emacs.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
...in case of rename and delete directories.
Steps to reproduce the problem:
* Choose "file listing" mode for one panel and "directory tree" mode for the other.
* Perform all operations on the "file listing" panel.
* Create a new directory -> tree view will update correctly.
* Perform an operation, which changes this directory like rename/delete.
* Deleted directory will still show up on the "directory tree" view.
Renamed directory will show up with the new name, but the old name will also stay there.
Minor cleanup: remove extra parenthesis.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Steps to reproduce:
* run mc
* go to 'F9 -> left/right panel -> Tree'
Expected result: unique directory names.
Actual result: duplicate directory names
(one name with leading slash, second directory name without leading slash).
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
How to reproduce:
on sources: ctags -R .
with tags in current dir open any file (needn't be C source or headers)
Alt- (i.e. alt minus or Esc '-')
Current result: sigsegv
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Steps to reproduce:
* compile mc with aspell support
* remove all aspell's dictionaries
* run mc and try to open any file in the internal editor
* close the error dialog
* try to exit from editor
Expected behaviour: a file panels should be shown
Actual behaviour: the segfault here.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
If call panel history using mouse (click on [^] icon on panel top frame)
and then select any path from history, panel was not refreshed to show
actual file list in the new current directory.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Some ini files (keymaps, skins) are loaded in read-only mode. For those
files, we don't need load and keep comments.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Modify algorithm of keymap files load:
1) Unconditionally load /usr/share/mc/mc.keymap
2) Unconditionally load /etc/mc/mc.keymap
Then load one of following user-defined keymaps, stop on success:
3) set via --keymap command line option
4) set via MC_KEYMAP environment variable
5) set via keymap key in config file
6) ~/.config/mc/mc.keymap
Fix of double load of keymap file if name is same as name of
system-wide keymap file.
Update man pages.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
(expand_format): don't try expand format and return empty line
for modes that are not used formatted variables.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Test case:
* cp /path/to/any-file.rpm '/tmp/a n y - f i l e.rpm'
* run /usr/bin/mc, go to /tmp
* Press Enter on 'a n y - f i l e.rpm' file
Expected result: mc should be entered to RPM package as in directory
Actual result: gor errors:
Inconsistent extfs archive
error: open of /tmp/a\ failed: No such file or directory
...
error: open of e.rpm failed: No such file or directory
-r--r--r-- 1 root root 0 Jun 29 15:12 ERROR
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Set defines via CPPFLAGS variable not via CFLAGS one.
Use AM_CPPFLAGS and AM_CFLAGS variables instead of per-target ones.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
In Search dialog in mcedit M-n hotkey was used for normal search mode.
Therefore, M-n as HistoryPrev in the input line was in accessible.
Change hotkey for normal seach mode to M-r. Use this hotkey for normal diff
mode in mcdiffviewer to unify i18n resources.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
src/filemanager/filegui.c does not compile on Solaris due to missing macros.
AVE_STRUCT_STATVFS_F_BASETYPE and HAVE_STRUCT_STATVFS_F_FSTYPENAME macros
are not set or even defined in config.h. configure scrips does not even
check for those members.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
While copy/move file, the ENOSPC value of errno wasn't handled.
If destination file isn't comlete because of full partition, source file
is kept and destination one is removed unconditionally.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>