Commit Graph

5630 Commits

Author SHA1 Message Date
Jesse R. Gorzinski
4da6ea8db3 (feed_subshell): on IBM i, read(1) can return 0 for a non-closed fd.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-09 18:57:56 +03:00
Andrew Borodin
877b5a6add Find file: show pattern and content in the results window title.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-09 18:45:03 +03:00
Andrew Borodin
22e83bad08 src/filemanager/find.c: refactoring: optimize variable usages.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-04 10:36:13 +03:00
Andrew Borodin
953b7e9f23 Ticket #3924: Find file: remember state (empty or not) of Content field.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-04 10:20:44 +03:00
gray_-_wolf
0493a5e90e Ticket #1983: support BTRFS's file clone operation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-03 09:33:32 +03:00
Andrew Borodin
7ac669c654 Ticket: 3908: quiet single file overwrite.
If target file exists, MC overwrites that file without confirmation.

The bug has not been fixed comletely in
7d73ce1cbe.

Yet another test case:

1. Create files:

    mkdir -p test1/1 test2/1
    echo "1" > test1/1/file
    echo "2" > test2/1/file

2. Run `mc test1 test2`.
3. Select directory "1" and press F6.

Result: "file" file is overwritten w/o confirmation.

Expected result: since the "file" file exists the confirmation dialog
must be shown.

The problem is: confirmation dialog requires context UI which was not
created in case of single directory move/rename operation.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-07-28 17:21:24 +03:00
Andrew Borodin
f75430d68c (operate_one_file): remove unescape of source and destination filenames.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-07-01 20:00:36 +03:00
Andrew Borodin
aea06fbc7a Ticket #3923: fix of file name escaping in file operations.
Revert "(operate_single_file): make src and dest file name unescaping"

This reverts commit ef5d346dd9.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-06-30 11:33:49 +03:00
moko
5f603638de Ticket #3917: preserve atime/mtime over sftpfs.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-06-03 14:54:01 +03:00
Yury V. Zaytsev
b44bfee6bf Ticket #3789: remove faulty test in rpm helper to detect CONFLICTS tag
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2018-05-27 15:17:31 +02:00
Andrew Borodin
8f7d44ef7f Ticket #3914: %view not piping command output to internal viewer in user menu.
Revert "(execute_menu_command): fix mcview_viewer() call."
This reverts commit 2043ef74a9.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-05-07 09:07:37 +03:00
Andrew Borodin
34712ec05b Ticket #3913: implement safe file overwrite.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-04-25 11:36:10 +03:00
Andrew Borodin
7d73ce1cbe Ticket: 3908: quiet single file overwrite.
If target file exists, MC overwrites that file without confirmation.
The bug was introduced in #3149.

How to reproduce:
1. Create two files: `touch a aa`.
2. Stay on "aa".
3. Make sure that Options/Confirmation.../Overwrite option is checked on.
4. Press Shift-F6
5. Edit the "to:" value to "a" ("a" file exists) and press Enter.

Actual result:
The "a" file is overwritten w/o confirmation.

Expected result:
Since the "a" file exists the confirmation dialog must be shown.

The problem is: confirmation dialog requires context UI which was not
created in case of single file rename operation.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-04-07 13:13:53 +03:00
Adam Borowski
5eb9bd605e Ticket #3906: ZSTD support.
Signed-off-by: Adam Borowski <kilobyte@angband.pl>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-03-19 15:00:23 +03:00
Andrew Borodin
a2a63aa8c1 Ticket #3898: mcedit doesn't save all opened files.
(edit_quit): do not call widget_select() while direct iterating editor
windows because it changes the window position in Z order. Collect
modified files in separate list.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-12 21:11:56 +03:00
Andrew Borodin
c139ba72ae Ticket #3897: mcedit: broken extended key mode.
(edit_dialog_callback): do not reset the extended mode if command
was not handled.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-12 21:10:43 +03:00
Andrew V. Samoilov
de242255dc (edit_do_search): use gboolean. Remove unused computations.
Signed-off-by: Andrew V. Samoilov <a.samoilov@gmail.com>
2018-02-04 11:30:23 +03:00
Andrew V. Samoilov
06eac9f17d (etags_set_definition_hash): make buf stack variable.
Signed-off-by: Andrew V. Samoilov <a.samoilov@gmail.com>
2018-02-04 11:30:23 +03:00
Andrew Borodin
9b74ff8653 str_convert_to_input() never returns NULL.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
454e23d48f (edit_collect_completions): str_convert_to_display() never returns NULL.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
2a973f7a46 Use str_move() where possible.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
8b6f4ef2c2 Use gboolean instead of int in file/dir sort related functions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
56081caaae (ftpfs_command): minor optimization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
6d3d6c9b45 FTP: fix some calls of ftpfs_command().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
ec80df187c FISH: optimize creation of FISH commands.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
aafc77c8f9 src/vfs/fish/fish.c: allocate buffer for command dynamically.
Continue 53a1d52ed9.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew V. Samoilov
63d9fc6b0a smbfs: code cleanup
* (sys_select): fix }
  * (sys_open): commented out
  * (sys_random, sys_srandom): remove unused functions

Signed-off-by: Andrew V. Samoilov <a.samoilov@gmail.com>
2018-02-04 11:30:23 +03:00
Andrew V. Samoilov
f963a74a8e smbfs/helpers: comment out unused code.
Signed-off-by: Andrew V. Samoilov <a.samoilov@gmail.com>
2018-02-04 11:30:23 +03:00
Andrew V. Samoilov
a02c353ab9 smbfs/helpers: Comment/remove unused code. Reduce .data
Signed-off-by: Andrew V. Samoilov <a.samoilov@gmail.com>
2018-02-04 11:30:23 +03:00
Andrew V. Samoilov
6a47e7bce9 (sesssetup_user): make static const char[] instead of pstring.
Signed-off-by: Andrew V. Samoilov <a.samoilov@gmail.com>
2018-02-04 11:30:23 +03:00
Andrew V. Samoilov
b207798426 (events_init): make standard_events const.
Signed-off-by: Andrew V. Samoilov <a.samoilov@gmail.com>
2018-02-04 11:30:23 +03:00
Andrew Borodin
95e1ab3064 vfs: use LS_NOT_LINEAR constant.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
c524d6d49c src/cons.handler.c: fix include.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
e151b0756f src/usermenu.c: cosmetics.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
80a4982d95 Refactor file manager creation.
* (create_panels_and_run_mc): rename to create_file_manager.
  Move call of dlg_run() to do_nc().
  * (create_panels): create file panels only. Move creation of
  other widgets to create_file_manager().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andreas Mohr
00416d5cf3 (my_type_of): remove unreachable code.
Found by Clang 4.0.1.

edit.c:896:16: error: 'return' will never be executed [-Werror,-Wunreachable-code-return]
        return 0x80000000UL;
               ^~~~~~~~~~~~

(whole my_type_of() is suspect)

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andreas Mohr
ac9e4c321a (panel_recursive_cd_to_parent): fix potential null pointer dereference.
Found by GCC 6.4.0.

panel.c: In function 'panel_reload':
panel.c:4188:40: warning: potential null pointer dereference [-Wnull-dereference]
         if (IS_PATH_SEP (panel_cwd_path[0]) && panel_cwd_path[1] == '\0')

../../lib/global.h:132:26: note: in definition of macro 'IS_PATH_SEP'
 #define IS_PATH_SEP(c) ((c) == PATH_SEP)
                          ^

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andreas Mohr
ae3cf817f4 Cleanup implicit-fallthrough warnings.
Found by GCC 7.2.0

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
2043ef74a9 (execute_menu_command): fix mcview_viewer() call.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
7abd640b41 Sync with gnulib 467061a2014d742a27eb8d4498e8d09fb3225d53.
Remove SVR2 support

SVR2 was obsolete by 1986 and is no longer supported by anybody, and its
code was getting in the way of use of this module by Emacs, which has
its own 'read' function anyway.

  * src/filemanager/mountlist.c: remove SVR2-specific code.
  * m4.include/fsusage.m4: do not test for sys/filsys.h or set
  STAT_READ_FILSYS.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
ddd645526a Update copyright years. 2018-02-04 11:30:22 +03:00
Andrew Borodin
074008025b mcviewer: refactor mode flags.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:22 +03:00
Andrew Borodin
73979369d1 Support __attribute__((fallthrough)) if possible.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:22 +03:00
Andrew Borodin
c139b82711 Don't calculate totals for copy and erase operations on single file.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-03 18:26:42 +03:00
Andrew Borodin
b6a65e084d (file_is_symlink_to_dir): new API.
Returns TRUE if file is symbolic link to directory, FALSE otherwise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-03 18:26:42 +03:00
Andrew Borodin
64526def8a (panel_operate): add TODO for rename/move of several directories.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-03 18:26:42 +03:00
Andrew Borodin
3ba4417c18 Don't calculate totals for move operation on single file.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-03 18:26:41 +03:00
Andrew Borodin
7dac8f7bd6 (operate_single_file): don't calculate directory size before rename or move...
...of single directory within same file system.

First try rename the single file/dir. If case of unsuccess, use
copy+delete with directory size calclulation.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-01-21 20:52:10 +03:00
Andrew Borodin
ef5d346dd9 (operate_single_file): make src and dest file name unescaping
...as it made in operate_one_file.

(build_dest): make dest file name unescaping here.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-01-21 20:52:10 +03:00
Andrew Borodin
1071c232c7 Refactor preparation of file/dir operation.
(transform_source): rename to build_dest and really build destination
file name here.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-01-21 20:52:10 +03:00