Commit Graph

151 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT service
035fa47c06 manually merged 228_replace_g_strdup 2009-02-02 21:28:01 +01:00
Enrico Weigelt, metux IT service
0434e3de5d manually merged 235_remove_g_snprintf 2009-02-02 20:53:03 +01:00
Enrico Weigelt, metux IT service
e4a4f77ac2 replaced g_snprintf() by snprintf() 2009-02-01 20:03:28 +01:00
Sergei Trofimovich
df4129517b Merge branch 'mc-4.6'
* 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
  ...
2009-02-01 14:26:54 +02:00
Enrico Weigelt, metux IT service
f921cc40cd replaced calls to g_strdup() by mhl_str_dup() 2009-01-30 20:10:40 +01:00
Sergei Trofimovich
c825c379c4 fish: cleanup: unboxed quoted strings when generate shell commands
Signed-off-by: Sergei Trofimovich <st@anti-virus.by>
2009-01-28 10:29:18 +02:00
Enrico Weigelt, metux IT service
90763ba82f introduced new type SHELL_ESCAPED_STR for more type safety 2009-01-27 22:27:06 +01:00
Mikhail S. Pobolovets
dac78460c2 Port number in shell link can be specified now
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>
2009-01-26 21:26:33 +02:00
Patrick Winnertz
7abcb66aba Merge branch 'mc-4.6' 2009-01-26 16:56:24 +01:00
Patrick Winnertz
e1572aefd3 Remove embedded function and use instead the regex directly as we doesn't need
more lines of code as really necessary.
 The regex stuff is taken from this site:
   http://www.slac.stanford.edu/slac/www/resource/how-to-use/cgi-rexx/cgi-esc.htm
2009-01-25 22:52:24 +01:00
Sergei Trofimovich
8a12b5e187 fish: fixed forgotten '\\' special char in perl escaping
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-01-25 20:22:29 +01:00
Sergei Trofimovich
a8779af1aa fish: fixed handling of files with spaces, quotes, etc.
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>
2009-01-25 20:22:29 +01:00
Sergei Trofimovich
a944b8ca5b fish: partially fixed perl backend for FISH
Broken:
 * spacy files are still broken (like " a b")
Changes:
 * vfs/fish.c learned to parse 'R' (raw filemode)
 * fixed perl backend escaping

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-01-25 20:22:29 +01:00
Sergei Trofimovich
636b1ff16f fish: added handling for escaped characters
Changes:
 * mhl/string.h achieved new function: mhl_str_dup_range
 * fish: added handling for quoted string (:"enc" and :"enc1" -> "enc2")

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-01-25 20:22:29 +01:00
Sergei Trofimovich
3884370289 fish: one step closer to working state
!!!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>
2009-01-25 20:22:29 +01:00
Patrick Winnertz
05a2491681 Argh.. we need even more escaping since this runs in c which executes
a shell script which executes then a perl script.... this uses then " as output in printf:
 --> therefore we need up to 5 backslashes
2009-01-25 20:22:29 +01:00
Patrick Winnertz
61dee5baa3 Removed a % which I accidentially overviewed the first time 2009-01-25 20:22:29 +01:00
Patrick Winnertz
837aece56f Some fixes to the new fish get dirlisting code. One issue is remaining. 2009-01-25 20:22:28 +01:00
Patrick Winnertz
b198432f06 Add some whitespace fixes which are also used to make symlinks work correctly 2009-01-25 20:22:28 +01:00
Patrick Winnertz
1667b696b7 Add new read dir stuff based on perl.
- please note that this patch won't work right now
2009-01-25 20:22:28 +01:00
Patrick Winnertz
01ef2aaf80 Revert slavaz patch because this was something unrelated to not working links via fish.
this indeed belongs into ticket:149.
2009-01-25 20:22:28 +01:00
Slava Zanko
a202cac66b Changes in directory listing format:
- 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...
2009-01-25 20:22:28 +01:00
Patrick Winnertz
56e02e2848 Remove case 'L' check as this was never implemented as it seems... 2009-01-25 20:22:28 +01:00
Patrick Winnertz
5493da68a2 Remove vars which are not needed 2009-01-25 20:22:28 +01:00
Patrick Winnertz
b166e7f232 Update Slavaz patch to work correctly on files called "foo -> bar" 2009-01-25 20:22:28 +01:00
Enrico Weigelt, metux IT service
154feb5160 2009-01-10 Enrico Weigelt, metux ITS <weigelt@metux.de>
* edit/editcmd.c:
    * src/achown.c src/background.c src/boxes.c src/chmod.c:
    * src/chown.c src/cmd.c src/command.c src/dir.c src/execute.c:
    * src/ext.c src/file.c src/filegui.c src/find.c src/help.c:
    * src/learn.c src/main.c src/panelize.c src/screen.c:
    * src/selcodepage.c src/subshell.c src/tree.c src/user.c:
    * src/utilunix.c src/view.c:
    * vfs/cpio.c vfs/direntry.c vfs/extfs.c vfs/fish.c vfs/ftpfs.c:
    * vfs/mcfs.c vfs/sfs.c vfs/smbfs.c vfs/tar.c vfs/undelfs.c:
    * vfs/utilvfs.c vfs/vfs.c:

    Changed message type codes on calls to message(), query_dialog(),
    close_error_pipe() from numeric IDs to symbols D_ERROR, D_NORMAL
2009-01-10 14:13:56 +01:00
Pavel Tsekov
d2fb34f021 * vfs/fish.c (fish_dir_load): Check the exit status of the remote command
and fail with EACCES if it was unsuccessful.
Fix the value returned on error - must be -1 instead of 1.
2007-11-02 14:50:41 +00:00
Pavel Tsekov
7d113d0125 * vfs/fish.c (FISH_OP): Remove the second argument since it is unused.
Fix the macro usage troughout.
(XTEST): Remove unused macro.
2007-10-29 13:31:44 +00:00
Pavel Tsekov
4a895496c7 * vfs/fish.c (fish_linear_start): Fix a hang when retrieving unreadable
file. Fixes savannah bug #21331.
2007-10-26 13:46:42 +00:00
Pavel Tsekov
56eccaadb4 * configure.ac: Determine the size of long', long long' and
off_t.
* vfs/fish.c (fish_linear_start): Use strtol() or strtoll() to retrieve
the size of the file being retrieved.
2007-10-11 12:32:42 +00:00
Pavel Tsekov
2f3df3af4e * edit/bookmark.c: Update copyright notice.
* edit/edit.c: Likewise.
* edit/editcmd.c: Likewise.
* edit/editdraw.c: Likewise.
* edit/editkeys.c: Likewise.
* edit/editlock.c: Likewise.
* edit/editmenu.c: Likewise.
* edit/editoptions.c: Likewise.
* edit/editwidget.c: Likewise.
* edit/syntax.c: Likewise.
* src/background.c: Likewise.
* src/boxes.c: Likewise.
* src/complete.c: Likewise.
* src/execute.c: Likewise.
* src/ext.c: Likewise.
* src/file.c: Likewise.
* src/filegui.c: Likewise.
* src/fileopctx.c: Likewise.
* src/find.c: Likewise.
* src/hotlist.c: Likewise.
* src/key.c: Likewise.
* src/keyxdef.c: Likewise.
* src/layout.c: Likewise.
* src/learn.c: Likewise.
* src/listmode.c: Likewise.
* src/main.c: Likewise.
* src/panelize.c: Likewise.
* src/slint.c: Likewise.
* src/textconf.c: Likewise.
* src/tree.c: Likewise.
* src/treestore.c: Likewise.
* src/tty.c: Likewise.
* src/util.c: Likewise.
* src/utilunix.c: Likewise.
* src/view.c: Likewise.
* src/widget.c: Likewise.
* src/wtools.c: Likewise.
* src/x11conn.c: Likewise.
* vfs/cpio.c: Likewise.
* vfs/extfs.c: Likewise.
* vfs/fish.c: Likewise.
* vfs/ftpfs.c: Likewise.
* vfs/gc.c: Likewise.
* vfs/mcfs.c: Likewise.
* vfs/mcserv.c: Likewise.
* vfs/smbfs.c: Likewise.
* vfs/tar.c: Likewise.
2007-09-25 15:33:35 +00:00
Pavel Tsekov
23361694b6 * src/background.c: Use the correct form of FSF's name in the copyright
notice.
* src/boxes.c: Ditto.
* src/complete.c: Ditto.
* src/execute.c: Ditto.
* src/ext.c: Ditto.
* src/file.c: Ditto.
* src/filegui.c: Ditto.
* src/fileopctx.c: Ditto.
* src/fileopctx.h: Ditto.
* src/find.c: Ditto.
* src/hotlist.c: Ditto.
* src/key.c: Ditto.
* src/keyxdef.c: Ditto.
* src/layout.c: Ditto.
* src/learn.c: Ditto.
* src/listmode.c: Ditto.
* src/main.c: Ditto.
* src/panelize.c: Ditto.
* src/slint.c: Ditto.
* src/textconf.c: Ditto.
* src/tree.c: Ditto.
* src/treestore.c: Ditto.
* src/tty.c: Ditto.
* src/util.c: Ditto.
* src/utilunix.c: Ditto.
* src/view.c: Ditto.
* src/widget.c: Ditto.
* src/wtools.c: Ditto.
* src/x11conn.c: Ditto.
* vfs/cpio.c: Ditto.
* vfs/extfs.c: Ditto.
* vfs/fish.c: Ditto.
* vfs/ftpfs.c: Ditto.
* vfs/gc.c: Ditto.
* vfs/mcfs.c: Ditto.
* vfs/mcserv.c: Ditto.
* vfs/smbfs.c: Ditto.
* vfs/tar.c: Ditto.
* vfs/undelfs.c: Ditto.
* vfs/utilvfs.c: Ditto.
* vfs/vfs.c: Ditto.
* edit/bookmark.c: Ditto.
* edit/edit.c: Ditto.
* edit/edit.h: Ditto.
* edit/editcmd.c: Ditto.
* edit/editdraw.c: Ditto.
* edit/editkeys.c: Ditto.
* edit/editlock.c: Ditto.
* edit/editmenu.c: Ditto.
* edit/editoptions.c: Ditto.
* edit/editwidget.c: Ditto.
* edit/syntax.c: Ditto.
2007-09-24 09:28:32 +00:00
Pavel Tsekov
e2424ae139 * src/filegui.c (rd_widgets) [_LARGE_FILES]: Use format string
capable of supporting 64 bit file sizes.
* vfs/fish.c (fish_linear_start) [_LARGE_FILES]: Use format string
capable of supporting 64 bit file sizes.
2007-08-23 13:16:39 +00:00
Pavel Tsekov
0be8302a3d * vfs/fish.c: Remove all references to HAVE_HACKED_SSH. 2007-05-07 13:23:54 +00:00
Pavel Tsekov
9312932eea * vfs/fish.c (fish_linear_start): Use _FILE_OFFSET_BITS to determine which
length modifier to pass to sscanf(). Use 'll' length modifier instead
of 'L' since 'L' is meant for doubles.
2007-04-26 15:10:02 +00:00
Leonard den Ottolander
7a9daa86b0 * vfs/fish.c (fish_file_store): Fix copy of file names with backticks to
remote host.
2006-11-09 17:59:39 +00:00
Pavel Tsekov
294e05e70e * vfs/fish.c (fish_file_store): Do not create the target file before
determining which method (`head' or `dd') to use.
Do not use `head' to transfer data when resuming a file transfer - it is
not reliable enough.
2006-03-31 14:29:37 +00:00
Pavel Tsekov
407497fd43 * vfs/fish.c (fish_file_store): Improve the upload speed by using the
`head' utility when possible. Fallback to a new improved `dd' method
if `head' is not availaible or just stupid.
2006-03-30 14:39:33 +00:00
Pavel Tsekov
264697b010 * vfs/fish.h: New file.
* 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'.
2006-02-23 15:32:18 +00:00
Pavel Tsekov
c9f1b97869 * vfs/ftpfs.c (ftpfs_dir_uptodate): Remove.
(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.
2006-02-23 10:46:29 +00:00
Roland Illig
2390300034 * fish.c: Replaced the printf-like attribute with __printf__,
since GNU gettext defines a macro printf on some systems.
	* ftpfs.c: Likewise.
2006-02-03 14:45:44 +00:00
Leonard den Ottolander
a03c48ffa4 fish.c, xdirentry.h: Fix 2 GB file size limit for fish. 2006-01-27 22:16:45 +00:00
Pavel Tsekov
c8494f41bb * xdirentry.h (LS_LINEAR_PREOPEN): New macro definition.
* 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.
2006-01-25 14:04:27 +00:00
Leonard den Ottolander
0c2b46643d * fish.c (fish_dir_load, fish_linear_start): Get numerical gid/uids from ls to
avoid wrong parsing of user/group names containging white space.
2005-10-19 11:34:56 +00:00
Roland Illig
290b842c86 * utilvfs.h (vfs_parse_filetype, vfs_parse_fileperms,
vfs_parse_filemode): Rewrote the functions to parse Unix file
	modes.
	* utilvfs.c: Likewise.
	* fish.c: Using the new parsing functions.
2005-09-26 11:10:24 +00:00
Roland Illig
7e7b81b73e * direntry.c: Added const qualifiers to work around gcc
warnings.
	* extfs.c: Likewise.
	* fish.c: Likewise.
	* ftpfs.c: Likewise.
	* sfs.c: Likewise.
	* xdirentry.h: Likewise.
2005-09-05 00:52:56 +00:00
Roland Illig
5343037e83 * fish.c (fish_ctl): Commented out some unused code with
#if 0 ... #endif. This fixes a warning from SunPro.
2005-06-08 00:31:25 +00:00
Pavel Roskin
1f60f44145 Update postal address of Free Software Foundation. 2005-05-27 03:35:10 +00:00
Roland Illig
ebcd6129c6 * fish.c: Declared one more parameter as unused. 2005-02-22 18:38:58 +00:00
Roland Illig
d7e7ec48dd * *.c: Declared unused variables with (void) to avoid the gcc
warnings.
	* extfs.c (extfs_get_path_mangle, extfs_get_path): Removed unused
	parameter.
	* ftpfs.c (ftpfs_netrc_bad_mode): Likewise.
	* vfs.c (mc_def_getlocalcopy): Likewise.
2005-02-22 18:35:22 +00:00