* mc-4.6: (38 commits)
mhl: mhl_shell_unescape_buf(): fixed memory array OOB.
completion: fixed complete already escaped secuences.
completion: added changelog entry for solved #147
completion: fixed completion of escaped commands in commandline
Removed unused char*.
mhl: added mhl_strmove() function (memmove semantics)
completion: added escapes in command line on completion
complete: cleanup: #define to enum INPUT_COMPLETION_FLAGS
added a new parameter for completion flags to input_new
fish: cleanup: unboxed quoted strings when generate shell commands
introduced new type SHELL_ESCAPED_STR for more type safety
added mhl/types.h which defines bool enum, escape.h now using this type
Removed unused variable
Changes for use MHL.
Fixed bug with renamig/copying files with backshashes in names
Remove some testing stuff
Temporarry commit. Fixed completion in browse by directoryes.
Fixed some memory leaks.
Add $ and ` for escaping and reorder it according to the ascii values
Rewrite it to use g_string_append_c instead of some homebrew stuff
...
vfs/ChangeLog:
* fish.c: Iterpret SUP.flags as port number if SUP.flags is not in
* 0, FISH_FLAG_COMPRESSED and FISH_FLAG_RSH. Weakness: port number
Originally by Andrew V. Samoilov <sav>
Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>
Changes:
* removed "" from all operations, because shells do not like it:
$ LANG=C ls "//\ a\ -\>\ b\ \"\"\""
ls: cannot access //\ a\ -\>\ b\ """: No such file or directory
$ [sf] ~:LANG=C ls //\ a\ -\>\ b\ \"\"\"
// a -> b """
* transited to mhl escaping function in vfs/fish.c
* fixed vast majority of FISH ops in respect to special chars
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
!!!WARNING!!!: FISH is still broken
Changes
* fixed sed fallback (added escaping)
* fixed FISH hangup (introduced earlier in perl changes)
* added FISH 500 if perl script dies somehow (no more FISH hangups on dir list path!)
* added '#if 0' in vfs/fish.c:fish_dir_load() - handy to debug
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
- check if remote have a 'test' utility.
If 'test' exists - use it for recognize symlinks (test -L)
and forming "L<symlink>" string in output
- Restore part of source code for handling "L<symlink>"
- check if 'ls' command support option '-Q' and use it if supported
- FIXME: need to write fish_get_unquoted_filename
- FIXME: need to rewrite algorithm of parsing ' -> ' substring
(relative to -Q option)
New logic will correct show symlinks on lot of OSes, but in some
pure OSes need to review...
* vfs/fish.c (fish_directory_timeout): Define new global variable.
(FISH_DIRECTORY_TIMEOUT): Eliminate - this macro is not used
anywhere.
(fish_dir_load): Use `fish_directory_timeout' to calculate the
expiration time of a newly created directory entries.
* src/setup.c [USE_NETCODE]: Include fish.h .
(int_options) [USE_NETCODE]: Add support for user configurable
expiration timeout of FISH directory cache entries.
* doc/mc.1.in: Document `fish_directory_timeout'.
(init_ftpfs): Adjust the code to reflect the removal of
`ftpfs_dir_uptodate'.
* vfs/fish.c (fish_dir_uptodate): Remove.
(init_fish): Adjust the code to reflect the removal of
`fish_dir_uptodate'.
* vfs/direntry.c (vfs_s_dir_uptodate): New function.
(vfs_s_init_class): Initialize the `dir_uptodate' field of
vfs_s_subclass.
* direntry.c (vfs_s_open): When opening a file in linear mode,
defer the actual open operation until the first read call.
(vfs_s_read): When reading in linear mode, open the file
on the first read operation.
(vfs_s_lseek): When in linear mode, make sure that seeking is
allowed only before the first read operation.
* ftpfs.c (ftpfs_ctl): Make the code aware of LS_LINEAR_PREOPEN.
* fish.c (fish_ctl): Likewise.