Commit Graph

16126 Commits

Author SHA1 Message Date
Andrew Borodin
8e55057fa3 (vfs_path_from_str_uri_parser): fixups.
Handle potential NULL argument.
Clarify detection of absolute path: handle a case when path starts
with #enc:.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
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
f4183ed2f2 (filename_completion_function): use DIR_IS_DOT() macro.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
fc02bf666b (mc_g_string_append_c_len): new API that extends GString one.
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
401cd4a16c (listbox_add_item_take): new WListbox API.
Add new item to a listbox taking ownerhip of item text
and avoid a string duplication.

(listbox_add_item): reimplement using listbox_add_item_take().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
e496af7a1c input complete: reimplement using GPtrArray.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:32 +03:00
Andrew Borodin
4eacf0f99b (insert_text): constify argument.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +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
9428697134 Merge branch '4502_mc.ext.ini_fixups'
* 4502_mc.ext.ini_fixups:
  mc.ext.ini: grammar.
  mc.ext.ini.in: escape dot in gettext catalogs regex.
  Ticket #4502: mc.ext.ini: escape literal parenthesis, don't escape spaces.
2024-05-30 21:18:43 +03:00
Yury V. Zaytsev
9f02d1339d mc.ext.ini: grammar. 2024-05-30 21:17:00 +03:00
Andrew Borodin
3d9ff0fbb7 mc.ext.ini.in: escape dot in gettext catalogs regex.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-30 21:17:00 +03:00
Andrew Borodin
4988414f18 Ticket #4502: mc.ext.ini: escape literal parenthesis, don't escape spaces.
Escape literal parenthesis with double backslashes: \\( \\).
Spaces are no need to be escaped.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-30 21:17:00 +03:00
Andrew Borodin
cb97cd263b Merge branch '4541_hide_vfs_password'
* 4541_hide_vfs_password:
  (truncFileString): isn't used anymore. Remove.
  Ticket #4541: (file_progress_show_source): hide VFS password.
2024-05-26 20:16:45 +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
Andrew Borodin
57cf824a51 Merge branch '4540_mcedit_macro_deletes_text'
* 4540_mcedit_macro_deletes_text:
  Ticket #4540: mcedit: macro deletes text.
2024-05-25 19:25:34 +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
Andrew Borodin
425938e460 Merge branch '4292_autocomplete_slashes'
* 4292_autocomplete_slashes:
  Ticket #4292: fix redundant back slashes for autocomplete.
2024-05-19 19:31:14 +03:00
Andrew Borodin
2ee620f74f Ticket #4292: fix redundant back slashes for autocomplete.
Steps to reproduce:

1. Create file owth a space in the name:
  touch "a b"
There should no other files with name begins with "a" in the directory.
2. Press Shift-F4 to open editor
3. Press Shift-F2 to display dialog window "Save as..."
4. Press Esc+Tab to fill an input line

Result:
a\ b will appear in the edit field.
If you attempt to save the file, the back slash will be in the filename.

Expected result:
no any extra back slashes in the file name.

Soution: escape only '?', '*', and '&' symbols as described in the
manual page (see a11995e12b).

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-19 19:30:07 +03:00
Andrew Borodin
49e2535c07 Merge branch '3570_xorriso_slow'
* 3570_xorriso_slow:
  extfs: add test data for the iso9660 extfs helper (xorriso part)
  extfs: modify the iso9660 extfs helper to support testing (xorriso part)
  Ticket #3570: reimplement xorriso part of iso9660 listing.
2024-05-18 19:47:31 +03:00
slowpeek
62915a38f1 extfs: add test data for the iso9660 extfs helper (xorriso part)
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-18 19:47:06 +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
794823b885 Merge branch '4535_tmpdir_name'
* 4535_tmpdir_name:
  Ticket #4535: change name of temporary drirectory.
2024-05-14 21:52:35 +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
Eugene San (eugenesan)
ce571933c9 Ticket #4536: skins: add root variant of julia256 skin.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-09 09:53:15 +03:00
Eugene San (eugenesan)
09077ff3c1 skins: modarin256-thin.ini: fix typo.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-09 09:52:15 +03:00
Andrew Borodin
cfedd6598c Merge branch '4524_cleanup'
* 4524_cleanup: (40 commits)
  Update po/*.po files.
  (link_t): remove unused member linkcount.
  src/filemanager/file.c: fix comment.
  src/filemanager/file.c: rename structure: link -> link_t.
  (fetch_hosts): refactoring.
  hostname complition: refactoring: use GPtrArray.
  (load_codepages_list_from_file): use g_ptr_array_new_full().
  src/selcodepage.c: fix coding style.
  (tree_move): fix coding style.
  (info_show_info): don't create VFS path if EXT2 attributes aren't supported.
  file_op_context_t: remove op_preserve member.
  (shell_execute): fix coding style.
  (tar_seek_archive): improve diagnostic for truncated archive.
  Move OS-specific stuff from lib/global.h to lib/unixcompat.h.
  Merge lib/utilunix.h into lib/util.h.
  Merge lib/strescape.h into lib/strutil.h. Rename functions.
  Set the default IO size to 256KiB.
  (find_cmd): add intermediate variable to simplify formatting.
  mceditor: massive use of edit_arg_t as function argument.
  mceditor: new APIs.
  ...
2024-04-07 16:47:06 +03:00
Andrew Borodin
d7cd6456de Update po/*.po files.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:44:43 +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
e6ae50191b (fetch_hosts): refactoring.
Reduce variablle scope.
Refactor loops.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
4929248f30 hostname complition: refactoring: use GPtrArray. 2024-04-07 16:38:11 +03:00
Andrew Borodin
1c7da890bf (load_codepages_list_from_file): use g_ptr_array_new_full().
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
1bae2c678f Move OS-specific stuff from lib/global.h to lib/unixcompat.h.
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