Commit Graph

6495 Commits

Author SHA1 Message Date
Andrew Borodin
ab3e3339bb vfs_dirent: add new member d_len to get rid of d_name length calculation.
* (vfs_dirent_assign): set d_len up.
  * (mc_readdir): sync with new vfs_dirent: use d_len member.
  * (filename_completion_function): likewise.
  * (handle_dirent): likewise.
  * (find_ignore_dir_search): add 2nd argument to use length of
    directory name if it's known.
  * (do_search): sync with modified vfs_dirent and find_ignore_dir_search().
  * (NLENGTH): remove.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
822ef80f5b (spell_available): refactoing.
Simplify detection of aspell functions availability.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
9098dacb8a mecedit: spell: reduce functions scope.
* (aspell_check): make static.
  * (aspell_suggest): likewise.
  * (aspell_array_clean): likewise.
  * (aspell_get_lang_list): likewise.
  * (aspell_get_lang): likewise.
  * (aspell_set_lang): likewise.
  * (aspell_add_to_dict): likewise.
  * (spell_dialog_spell_suggest_show): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
75ee44db20 Use listbox_add_item_take() in obvious cases.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
127f975657 (search_content): minor refactoring of file opening.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +03:00
Andrew Borodin
e113055175 Constify argument in panel field format functions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +03:00
Andrew Borodin
d7b14b8933 Use NULL as initial value for undefined user format.
(panel_load_setup): if user's format of file list and status line
are undefined in the ini file, set them to NULL instead of
DEFAULT_USER_FORMAT.

Move definition of DEFAULT_USER_FORMAT macro from panel.h to panel.c.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +03:00
Andrew Borodin
9ba4691b57 (panel_load_setup): reduce variable scope.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +03:00
Andrew Borodin
34109d5a25 Ticket #4524: code cleanup before 4.8.32 release.
(set_panel_formats): fix coding style.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +03:00
Andrew Borodin
dffcec5acc (truncFileString): isn't used anymore. Remove.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-26 20:14:43 +03:00
crabique
f1908f4361 Ticket #4541: (file_progress_show_source): hide VFS password.
Closes MidnightCommander/mc#198.

Signed-off-by: crabique <6256096+crabique@users.noreply.github.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-26 20:14:43 +03:00
Sprite_tm
fdacad8bbb Ticket #4540: mcedit: macro deletes text.
(edit_user_menu): fix misinterpretation of return value of
edit_block_delete_cmd(). The bug was introduced in
e2e34d82ab.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-22 22:06:03 +03:00
slowpeek
094a140c26 extfs: modify the iso9660 extfs helper to support testing (xorriso part)
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-18 19:47:06 +03:00
slowpeek
bbcfda3c62 Ticket #3570: reimplement xorriso part of iso9660 listing.
When xorriso is installed, iso9660 listing was done with `xorriso .. -lsl ..`
per dir recursively. It was unbearably slow on iso images with lots of subdirs.
For example, it took my machine 2 minutes to open debian-12.5.0-amd64-DVD-1.iso
which contains 2627 dirs. This commit makes use of `xorriso .. -find / -exec
lsdl ..` instead to list the whole directory tree in a single pass.

Also, parsing of xorriso output has been reworked and as a result such
previously missing items became visible in the listing:
- symlinks
- the boot catalog file

Closes MidnightCommander/mc#196.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-18 19:47:06 +03:00
Andrew Borodin
2fda4c6670 Ticket #4535: change name of temporary drirectory.
* (mc_tmpdir): use g_mkdtemp() to create temporary directory.
  Make it name unique to avoid conflicts with other software such as
  Distrobox container.
  * (main): temporary directory has unique name from now. Remove it at exit.
2024-05-13 21:48:35 +03:00
Andrew Borodin
2a45e3bcb0 (link_t): remove unused member linkcount.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
1dc0b325dc src/filemanager/file.c: fix comment.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
56c661e6f4 src/filemanager/file.c: rename structure: link -> link_t.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
372f6d0d0e src/selcodepage.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
44666f378a (tree_move): fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
48c5428b0f (info_show_info): don't create VFS path if EXT2 attributes aren't supported.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
d201e9cdac file_op_context_t: remove op_preserve member.
(file_mask_dialog): use local variable instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
d6f6c29c0b (shell_execute): fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
059cd9569f (tar_seek_archive): improve diagnostic for truncated archive.
If EOF has been read, don't attempt to seek past it.

Sync with GNU tar 21318f385627a30da5d92811dd80f70abbe80ee7.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
a2f65852e3 Merge lib/utilunix.h into lib/util.h.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
aa38245e85 Merge lib/strescape.h into lib/strutil.h. Rename functions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
933b111a5d Set the default IO size to 256KiB.
src/filemanager/ioblksize.h: Add updated test results and increase value
from 128KiB to 256KiB.

This was previously 128KiB and increasing to 256KiB was seen to increase
throughput by 10-20% when reading cached files on modern systems.

Sync with GNU coreutils fcfba90d0d27a1bacf2020bac4dbec74ed181028.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
93a4b2ab79 (find_cmd): add intermediate variable to simplify formatting.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
258b52b2d1 mceditor: massive use of edit_arg_t as function argument.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
e79e76b72b mceditor: new APIs.
* (edit_arg_init): initialize edit_arg_t object.
  * (edit_arg_assign): Apply new values to edit_arg_t object members.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
54bdd0efbf mceditor: drop edit_stack_type. Use edit_arg_t instead.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
ac41da50ee (edit_get_file_name): move from editwidget.c to edit.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
dae33eb229 mceditor: refactoring.
* (mcedit_arg_t): rename to edit_arg_t and move to src/editor/edit.h.
  * (mcedit_arg_free): rename to edit_arg_free() and move to src/editor/edit.c.
  * (mcedit_arg_vpath_new): rename to edit_arg_vpath_new(), move to src/editor/edit.c
  and make public.
  * (mcedit_arg_new): rename to edit_arg_new(), move to src/editor/edit.c
  and make public.
  * src/editor/editwidget.c: sync with new editor APIs.
  * src/main.c: likewise.
  * src/args.c: likewise.
  * (mc_args_parse): show error in case of run MC as "mc -e" if MC is built
    without builtin editor.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
f9a2038991 textconf.c: features: fix capital letters.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
228166b73b (dview_init): move first run of redo_diff() to diff_view().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
eceab3900d (create_panel): reduce variable scope.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
fe47ac5b56 (mcview_new): use WRect to define a panel area.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
d16ca7a1f5 Modify WTree creation API.
* (tree_init): use WRect to define widget area.
 * (create_panel): sync with modified API.
 * (tree_box): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
46dde8697b (info_new): use WRect to define a panel area.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
be148a0578 Change the file list panel creation APIs.
* (panel_sized_empty_new): use WRect to define a panel area.
  * (panel_sized_with_dir_new): likewise.
  * (panel_sized_new): likewise.
  * (panel_empty_new): sync with modified API.
  * (panel_with_dir_new): likewise.
  * (panel_sized_with_dir_new): likewise.
  * (create_panel): likewise.
  * (restore_into_right_dir_panel): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
8bb12a40e6 (put_tagged): trivial refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
41fadeffe7 (check_panel_timestamp): constify arguments, simplify checks.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
7af11660f8 Clean up irrelevant comments.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:01:47 +03:00
Andrew Borodin
de4e6ca534 src/editor/editmenu.c: includes cleanup.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:01:47 +03:00
Andrew Borodin
3291dd248f (edit_get_search_line_type): refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:01:47 +03:00
Viktor Szakats
f3ffb28737 Ticket #4524: code cleanup before 4.8.32 release.
mcedit: fix losing column position when navigating up/down.
Regression from 49bc0ddebf.

Closes MidnightCommander/mc#194.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:01:47 +03:00
Andrew Borodin
16fadb9d02 mceditor: support ext2fs attributes.
Get attributes on file open and set ones on file save.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-03-31 18:46:46 +03:00
Andrew Borodin
f6f7c8c1ce Ticket #4451: preserve ext2fs attributes on copy/move operations.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-03-31 18:46:46 +03:00
Andrew Borodin
c3ffd4a790 Use ESC_STR macro in escape sequences.
* (update_xterm_title_path): use ESC_STR macro.
  * (update_terminal_cwd): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-02-11 19:26:45 +03:00
Egmont Koblinger
e777f75397 (update_xterm_title_path): change the escape sequence's terminator
...from \a to \e\\. Various standards (at least ECMA-48 and DEC STD 070)
agree that an OSC is to be terminated by an ST, i.e. \e\\. Using BEL \a
is a nonstandard solution introduced and popularized by xterm.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-02-11 19:26:45 +03:00