Save bookmarks of internal edit in filepos
Signed-off-by: Filip Sefrna <fsefrna@gmail.com>
Type accuracy.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Factored out error checking from ftpfs_initconn into
ftpfs_init_data_socket and fixed the logic of the initialization of DATA
connection. Now initialization of passive connection is retried if
needed after the failure to open the socket.
Got rid of goto statements and divided the code in two parts (passive &
active). Initial state is now properly restored after the function runs.
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
Miscellaneous refactoring:
* Factored out the active IPV4/IPV6 FTP connection mode setup
routine in a separate function (ftpfs_setup_active) to make the
logic more clear.
* Factored out ftpfs_init_data_socket from ftpfs_initconn in order
to make it possible to fix the logic later on.
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
In current implementation few issues were fixed making passive
connection scheme more reliable:
* If it's IPV4, try PASV first, as some servers and ALGs get
confused by EPSV, and only then EPSV as a fallback
* When trying PASV or EPSV, actually try to connect to the provided
port and if the connection fails, still try the next method
* PASV and EPSV response parsing code was factored out in separate
routines for clarity
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
* Fixed endianness issue introduced by IPV6 patch, which prevented
active connections to be established via PORT mechanism.
FTP server always expects to see the port broken down into bytes
in network byte order, so the transformation to host byte order is
only needed when using EPRT.
* Some IPV4 FTP servers and FTP ALGs / NATs with connection tracking
become confused when you try to use EPSV or EPRT instead of PASV or
PORT respectively.
This commit changes current FTP connection scheme: if we deal with
an IPV4 host, instead of first trying to use EPRT, first try to
use PORT and only if it fails try EPRT as a fallback.
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
Initial step: added description for A1 and C1 keys.
A1 and C1 keybindings are applied to WTree, WInput and WPanel widgets.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Fixed modifiers and removed types recastin in envoronment
variables and messages forming.
Minor code cleanup.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* m4: AC_CONFIG_SUBDIRS() macros should be always called without relation to enable/disable samba support
* vfs/samba: configure.ac: renamed --with-configdir to --with-smb-configdir
* vfs/samba: configure.ac: renamed --with-codepagedir to --with-smb-codepagedir
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Removed mcserver and mcfs support.
Reasons:
(1) no longer builds
(2) no one is willing to support it
(3) possibly contains unfixed security holes
(4) makes no sense in view of the availability of FISH
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Some extfs script modes in the repository differ from the ones they get
when installed. This is annoying for those, who hardlink files to the
installed location instead of copying, because git status will show
these files as modified.
Fixing permissions in the repository will resolve this issue.
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
1. create directory named "????" and enter into this directory
2. point at any file in other panel
3. press F5 and Enter
Segfault
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Renamed and moved src/editor/editloc.[ch] -> lib/lock.[ch].
Renamed lock handling functions.
Fixed library order in src/Makefile.am.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
added selection with mouse
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Code cleanup: make visibility of some functions as static
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
fixed skins
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
new behavior: DEL - clear current field of dialog if text in the field is not modify and cursor not moved.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Code cleanups: avoid compiler warnings
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
If filled region is larger than screen, NCurses doesn't fill it
unlike S-Lang. This patch fixes such behaviour: only visible part
of region is filled.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Panel options are moved to new dialog.
Panel setup options are collected in a special structure.
Includes clean up.
Code indentation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Split assignments and conditions. Type accuracy. Minor optimization.
Thanks Vit Rosin for original patch.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Changes into lib directory
* samba: handling result of system() call
* rpc: handling write errors
* ftpfs: ignoring result of fwrite() on logfile (make compiler happy ;-))
* fish: proper handling of file io calls
* ignoring result of fwrite() on logfile (make compiler happy ;-))
* lib/util.c: handling fwrite() call errors in mc_util_write_backup_content()
* lib/utilunix.c:
* handling possible error on dup() in close_error_pipe()
* handling possible error on getcwd() in mc_realpath()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
On some systems i18n_checktimelength may vary not only depending on the
locale but also on the current month. This patch introduces a cyclic
check that loops through all of the months to find out which one has the
longest name.
However, since this function is called on every pannel reload and now
makes 24 calls to str_term_width1 and strftime it makes sense to
introduce a cache for the resulting value.
Thanks to Sergey Fionov <fionov@gmail.com> for the initial patch.
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
added src/diffviewer/ydiff.[ch] into project tree
added entry 'View diff files' into 'Command' menu
added 'diffviewer' color pairs
fixed Makefile and configure.am
added new binding CmdDiffView into '[main]' section
Big thanx to 'Daniel Borca <dborca@yahoo.com>' for ydiff
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Added diffviewer own library
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Fixed CFLAGS for diffviewer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
changed skins, added section
[diffviewer]
added=
changedline=
changednew=
changed=
removed=
folder=
error=
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Reimplementation of hardcoded shortcuts to keybindings.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
My system wide .rarrc contains these switches
switches= -m5 -mdG -r -s -t -ol -tl
So whenever you list the contents of any archive or copy a file out of
it, RAR/UNRAR will traverse *all* sub directories (note -r, recursive
switch) in a current directory trying to find *all* archives with the
same name. So, the net result might be that unrar/rar will extract
the wrong file and spend a lot of time trying to find archives with
the same name.
That's why I strongly suggest disabling user/system configuration
for archive list and copyout operations (note the added -cfg switch).
I have contacted Eugene Roshal and he said that he won't disable -r switch
for extract and archive list operations, so, we can only fix this problem
on our side.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Fixed tty_print_alt_char() to draw single or double vertical
or horizintal lines.
Added argument to tty_print_one_hline() and tty_print_one_vline()
functions to draw single or double lines.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Fixed bug introduced in ad9c1daad8 commit:
incorrect handling of "." and ".." directories within atchives.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Applied MC indentation policy to all files modified in this branch
with some simple manual modifications.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
If EXTFS plugin doesn't require a file, that file name must
be finished with '+': for example, rpms+. But trailing '+'
actually is not a part of plugin name, it is an plugin attrubute.
But in the current time trailing '+' must be used in VFS command:
cd #rpms+
instead of
cd #rpms
This commit simplifies the usage of some EXTFS plugins.
Also fixed VFS README.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Thanks Vit Rosin to found memory leak in _vfs_memleak() function.
This function was rewritten to fix two memory leaks.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* Minimizing dialog;
* Optimizations of Copy/move progress dialog creation;
* Added enum for specify dialog type (for copy/move or for delete)
* Little optimization.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
* Optimized functions calls (changed return type of all file_progress_show*() functions)
* Reworked for use global structure FileOpTotalContext
* Moved declarations of file_progress_show*() functions from fileopctx.h to filegui.h
* Code for calculate progressbar's variables was moved into function copy_file_file_display_progress()
* Progressbar for little files now shows always 100% (for visible effect)
* Added i18n string '< 1 sec'
* Rework of progress copy dialog
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Suppose we have 3 files with version in their names:
* file-2.1.tgz
* file-2.2.tgz
* file-2.10.tgz
It is impossible to see them in natural order using standard facilities,
they will be sorted in alphabet order:
* file-2.1.tgz
* file-2.10.tgz
* file-2.2.tgz
There was some attempts to fix this. I've picked up the patch by Roland Illig <roland illig gmx de>
(http://mail.gnome.org/archives/mc-devel/2004-July/msg00016.html) and adopted it for today's git snapshot.
It adds "version" option to the sort menu, which uses copy of strverscmp function from glibc.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
extfs vfs plugins are read from following places:
1. ~/.mc/extfs.d directory.
2. /usr/libexec/mc/extfs.d direcotry.
Priority of plugins installed in user home directory
is highest. If there are two plugins with same names
exist in user home and system directories, the plugin
from user home is used.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Reimplemented EXTFS VFS to be friendly to package-based
systems. Currently, MC requires to edit extfs.ini file
to add new plugin to MC VFS. After upgrade, all changes
to this files will be lost.
To solve that problem, MC configuration system should
support ".d" pattern.
Initial step: refactoring of current extfs code:
cleanup, type accuracy, indentation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Fixed showing of datetime format in various locales (such as Polish locale)
Added new options in config file:
[Misc]
...
timeformat_recent=%d.%m.%y %H:%M
timeformat_old=%d.%m.%y %H:%M
...
where
timeformat_recent - for files with mtime between now
and "6 moths old" (like "Nov 2 00:56")
timeformat_old - for other files (like "Jun 23 2007")
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Generally, Ctrl-\ is a default assignment to SIGQUIT signal.
S-Lang breaks this assignment. NCurses doesn't, therefore
MC just quits when user presses the Ctrl-\ key.
This commit emulates the S-Lang way in NCurses-based MC.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Comment by Oswald Buddenhagen:
first, you decided to ignore my advice about not
obfuscating the code with nonsense-checks, and on top of that you
broke the string comparison (just see what happens when you try a user
named "ftpmaster").
This commit contain changes for respect this critic.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Look at mcserv.c near 1019
The chroot() call's return value isn't handled - this may a security risk.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
The lslR VFS does not work with ls-lR files created in en_US.UTF-8 locale and with files and directories started with whitespaces.
Followed patch fixes both issues.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Fixed warings: local variable shadows a global declaration.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Reported-By: Dr. Stefan Thurner (TU-Chemnitz)
Since 4.7, on monochrome terminals (eg. xterm-mono) the
selections are not visible anymore (pre 4.7 inverted
the selected text).
Probably this has to do w/ the new skinning stuff.
Fix issue: added additional check for b&w terminal into skins engine.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>