Commit Graph

68 Commits

Author SHA1 Message Date
Slava Zanko
278178093e Add support of reading parameters for external editor/viewer from main config.
for example, the config file may contain strings:

[External editor or viewer parameters]
    vim = %filename +%lineno
    mcedit = %filename:%lineno

And these external editors will open a file at the previously saved position.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:37 +03:00
Slava Zanko
808988b1f1 Add lib/strutil/replace:str_replace_all() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:37 +03:00
Slava Zanko
2a2bc56221 Add src/execute.c:execute_external_editor_or_viewer() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko
f43b83e7ee Add tests for src/execute.c:execute_with_vfs_arg() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko
c2f030f2e8 Add new functions:
* int my_systeml (int flags, const char *shell, ...);
 * int my_systemv (const char *command, char *const argv[]);

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko
254aa70ac8 Add tests for lib/utilunix.c:my_system() function
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:32 +03:00
Andrew Borodin
0c52b2bad6 Add tests for mc_search__translate_replace_glob_to_regex() function.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-14 14:30:38 +04:00
Slava Zanko
f7109ab46b Fix for input completions with spaces in names.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-04 15:48:21 +03:00
Slava Zanko
f866709186 Concretize the usage of autocompliting in different input fields.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-04 15:48:21 +03:00
Slava Zanko
9935acea33 Ticket #55: savannah: tab completion vs. spaces and escaping
* Split big functions.
* Add unit tests

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-04 15:29:15 +03:00
Slava Zanko
ee8aaf6181 Avoid compiler errors like: error: variable 'xxx' set but not used [-Werror=unused-but-set-variable]
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-01-17 15:21:35 +03:00
Andrew Borodin
9423f3f080 Avoid C++-style comments.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-01-16 14:34:11 +04:00
Slava Zanko
e13437d950 (exec_get_export_variables_ext): use g_new0() for stable test results.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-12-20 15:35:40 +04:00
Slava Zanko
a1dd199723 Fixes in exec_get_export_variables_ext test
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-12-20 13:48:26 +03:00
Slava Zanko
076e53550d Fixed exec_get_export_variables_ext test
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-12-20 13:13:40 +03:00
Slava Zanko
5e633c7ca1 Ticket #2883: non-portable test
Test has been rewritten for support actuality.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-12-20 12:48:42 +03:00
Andrew Borodin
60727b9b79 Clarify usage of AM_CPPFLAGS.
Use AM_CPPFLAGS not AM_CFLAGS for includes. GLIB_CFLAGS are CPPFLAGS, actually.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-12-18 16:27:49 +04:00
Slava Zanko
467677ee6a Added tests for name_quote function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-11-29 13:20:47 +03:00
Slava Zanko
f115ac627f exec_get_export_variables(): reproduce bug in test
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-11-29 13:20:47 +03:00
Slava Zanko
6bdf50c5a5 Ticket #2913: CVE-2012-4463 mc-4.8.5: Does not sanitize MC_EXT_SELECTED variable properly
Paul Hartman reported the following (minor) security flaw into Gentoo's bugzilla:

https://bugs.gentoo.org/show_bug.cgi?id=436518

When multiple files are selected and F3 / Enter key is pressed on some of the files,
MC_EXT_SELECTED variable does not sanitize the whitespace characters properly
(leading into situation when first file is used as the actual value of MC_EXT_SELECTED
variable and the remaining files from the list are used as arguments passed to the
temporary script, created to handle F3 / Enter action on the first file).

A remote attacker could provide a specially-crafted archive and trick the local
Midnight Commander user into expanding and viewing it, which under certain
circumstances could lead to arbitrary code execution with the privileges of
the user running the mc executable.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-11-29 13:20:47 +03:00
Andrew Borodin
42499480bd Ticket #2918: cygwin test failure.
In
tests/lib/mcconfig/Makefile.am
tests/lib/vfs/Makefile.am
tests/src/filemanager/Makefile.am

AM_LDFLAGS = -Wl,-z,muldefs

is used, but on cygwin the linker does not accept the "-z" option and

AM_LDFLAGS = -Wl,--allow-multiple-definition

is required instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-11-14 13:32:55 +04:00
Andrew Borodin
b2f97443e2 Refactoring of subshell support.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-10-21 18:19:47 +04:00
Slava Zanko
bdd4cdbf82 Remove stub environment file from tests
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-10-21 18:19:47 +04:00
Slava Zanko
7668c09879 remove src/main.h file
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-10-21 18:19:46 +04:00
Slava Zanko
d6478b8b41 move do_cd from src/main.c to src/filemanager/panel.c
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-10-21 18:19:11 +04:00
Slava Zanko
949d257f37 Ticket #2791: Fixed: cannot Copy/Move files with filename encoding change
Steps to reproduce:
 * run mc
 * change encoding one of panels to any different from system encoding
 * try to copy any file to panel with changed encoding

Expected result: files should be copied.

Actual result: error box here.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-08-29 13:30:28 +03:00
Andrew Borodin
908e747861 Optimization of ini files load.
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>
2012-07-31 14:50:11 +04:00
Andrew Borodin
b37af47023 Makefile.ams cleanup.
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>
2012-07-17 17:04:05 +04:00
Slava Zanko
6408811e18 Ticket #2803: fixed bug do_panel_cd: FTBFS with --enable-tests on [kfreebsd-i386,kfreebsd-amd64,ia64,armhf]
One of the panel tests fail if build environment doesn't contain the home user directory.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-06-29 13:02:30 +03:00
Andrew Borodin
af3dd96e7b Tests tweak and cleanup in case of --disable-charset option usage.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-06-25 17:00:02 +04:00
Slava Zanko
ca4e66d174 Ticket #2804: fixed defect: path_cmp: FTBFS with --enable-tests on [powerpc,s390,s390x]
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-06-06 16:02:30 +03:00
Andrew Borodin
c1f2a8ac49 Clean up stuff that is not used anymore.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-06-05 13:06:27 +04:00
Andrew Borodin
41f7e490ea Ticket #2786: added forgotten test source file.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-04-25 19:07:48 +03:00
Andrew Borodin
1c05ebf8b9 (do_load_dir): use vfs_path_t as a path handle.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-04-22 11:25:11 +03:00
Slava Zanko
4184555b82 Ticket #2760: The password for session ftp remains in input history
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-04-12 22:31:20 +03:00
Sergei Trofimovich
41d093afaf Ticket #2768 ('make check' failed)
tests/.../do_panel_cd.c: fix test when 'HOME' contains trailing slashes.

Steps to reproduce:

    $ HOME=${HOME}/ make check
    Running suite(s): /src/filemanager
    cwd=/subvolumes/var_tmp/paludis/app-misc-mc-9999/temp
    mc_config_get_home_dir ()=/subvolumes/var_tmp/paludis/app-misc-mc-9999/temp/
    0%: Checks: 1, Failures: 1, Errors: 0
    do_panel_cd.c:86:F:Core:test_do_panel_cd_empty_mean_home:0: Assertion 'ret' failed

The patch adds home dir path normalization.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2012-04-02 20:22:27 +03:00
Sergei Trofimovich
6d3b90247b tests/.../do_panel_cd.c: show patch mismath on test failure
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2012-03-31 22:10:40 +03:00
Slava Zanko
88483f5fac Fixed creating string from relative non-local VFS.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-25 15:28:45 +03:00
Slava Zanko
ecda2061f2 Ticket #2758: cd command not working in shell link
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-25 15:28:45 +03:00
Slava Zanko
af1f37b967 fixup! Added tests for examine_cd() function. 2012-03-06 11:52:32 +03:00
Slava Zanko
05d220a9c6 vfs_path: Fixed broken relative paths processing.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:31 +03:00
Slava Zanko
a8da7179d0 Return values of following functions are constants now:
* vfs_path_get_last_path_str()
  * vfs_path_get_last_path_vfs()
  * vfs_path_get_by_index()
  * vfs_class_find_by_handle()

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-03-06 11:52:31 +03:00
Slava Zanko
c9af137914 Changed lot of functions in src/ directory
...to handle vfs_path_t objects.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:31 +03:00
Slava Zanko
2b5c28b316 Changes to handle vfs_path_t object:
* removed strip_password () function;
 * Added new vfs_path flag: VPF_HIDE_CHARSET;
 * added vfs_path_add_element() function.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:31 +03:00
Slava Zanko
18d8b06238 VFS: Added new function vfs_path_to_str_flags()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:31 +03:00
Slava Zanko
4dde82c5be Changed do_cd() and do_panel() functions
...to handle vfs_path_t objects.

Changed panelized_panel_t.root type to vfs_path_t.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:30 +03:00
Slava Zanko
a3a1e7937f Added unit test for do_panel_cd() functions.
Check if empty directory is mean 'change current directory to home dir'.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:30 +03:00
Slava Zanko
ddf8c542c9 Added function vfs_path_cmp()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:45:51 +03:00
Slava Zanko
b319ddfbab Added vfs_path_cmp() ans vfs_path_ncmp() functions
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:45:51 +03:00
Slava Zanko
0aa10fd6cb Changed type of WPanel::cwd (char *) and WPanel::lwd (char *)
...to WPanel::cwd_vpath (vfs_path_tr *) and WPanel::lwd_vpath (vfs_path_t *).

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:45:50 +03:00