Commit Graph

162 Commits

Author SHA1 Message Date
Pavel Roskin
413f8cbabd * fish.c: Convert to calling vfs_register_class().
* fish.h: Eliminate.  Adjust all dependencies.
* direntry.c (vfs_s_init_class): Add missing vfs_s_setctl().
2003-10-10 23:38:03 +00:00
Pavel Roskin
295c631c2c * fish.c (file_store): Use block size 1. It's slower, but much
safer.  GNU dd is not persistent enough when reading data.
2003-05-08 06:04:04 +00:00
Pavel Roskin
f2c028ce46 s/can not/cannot/ 2002-12-26 02:21:37 +00:00
Pavel Roskin
b246f3c7ea s/Could not/Cannot/ 2002-12-08 01:12:18 +00:00
Pavel Roskin
70ec6bbd26 Remove fish_which(). 2002-11-13 04:00:28 +00:00
Pavel Roskin
15f131afc9 * fish.c (fish_which): Make static. 2002-11-13 03:54:24 +00:00
Andrew V. Samoilov
e458d50651 * fish.c: Use name_quote() to quote filenames.
(file_store): Close localname on error.
2002-11-01 16:55:02 +00:00
Pavel Roskin
95ffa342bd * container.h: Remove, it's unused. 2002-10-01 03:54:05 +00:00
Pavel Roskin
da7e82d253 Global removal of RCS Id: flags. 2002-09-26 23:13:45 +00:00
Pavel Roskin
9a36e62af2 * fish.c (pipeopen): Use _exit(), not vfs_die() to terminate the
child if execvp() fails.
2002-08-20 00:14:33 +00:00
Andrew V. Samoilov
6bd685bd7c * xdirentry.h (vfs_s_fh.u.fish): Add append field.
* fish.c (fish_fh_open): Care about append.
(linear_open): Likewise.
(fish_store): Append data to target file if append is true.
2002-07-26 01:33:40 +00:00
Pavel Roskin
2be225d9e0 * ftpfs.c: Don't use SUP.home, use SUP.cwdir.
* fish.c: Likewise.
(dir_load): Update SUP.cwdir.
* xdirentry.h: Remove "home" field for fish and ftpfs.
2002-07-19 16:36:32 +00:00
Pavel Roskin
982a256ee0 * xdirentry.h: Get rid of ifree(), it's equivalent to g_free().
* direntry.c: Likewise.
* fish.c: Likewise.
* ftpfs.c: Likewise.
2002-07-19 16:04:27 +00:00
Pavel Roskin
87e4797648 Warning fix in the previous commit. 2002-07-19 15:11:20 +00:00
Pavel Roskin
b68a8a5ca8 * fish.c (fish_fill_names): New function, replacement for
generic vfs_s_fill_names() which didn't work right with fish.
2002-07-19 05:29:31 +00:00
Pavel Roskin
0b4a33c10f * undelfs.c (undelfs_opendir): Use parametrized messages without
VFS name for success and failure.
* fish.c (dir_load): Use new messages from undelfs.c, indicate
success by printing "done".
* ftpfs.c (dir_load): Likewise.
2002-07-19 04:29:37 +00:00
Pavel Roskin
1517700adf * fish.c (open_archive_int): Don't combine "export" and
assignment into one command - it's not portable.  Set LC_TIME
to "C" as well.
2002-07-14 22:56:13 +00:00
Pavel Roskin
5f771b594e * fish.c (open_archive_int): Set remote locale to C, otherwise
timestamps cannot be parsed in some locales.
2002-07-14 16:27:15 +00:00
Pavel Roskin
da27ec10cd * fish.c (file_store): Reduce input block size to 256 bytes,
otherwise dd gets partial blocks.
2002-07-13 01:10:24 +00:00
Andrew V. Samoilov
a60f38583a * xdirentry.h (vfs_s_fh.u.ftp): Add append field.
(vfs_s_data.file_store): Change second argument
to (vfs_s_fh *fh).
* direntry.c (vfs_s_close): Adjust.
* fish.c (file_store): Likewise.
* ftpfs.c (file_store): Likewise.  Use "APPE" if
fh->u.ftp.append is true.
(linear_start): Care about fh->u.ftp.append.
(ftpfs_fh_open): Likewise.
2002-05-22 17:19:24 +00:00
Andrew V. Samoilov
b314cad164 * fish.c (fish_fh_open): Generate fh->ino->localname
if this one is NULL and file is opened for writting only.
* ftpfs.c (ftpfs_fh_open): Likewise if control_connection_buzy
is true.
2002-05-22 13:31:15 +00:00
Andrew V. Samoilov
12ba0fc8a4 * direntry.c (vfs_s_retrieve_file): Please, care about
fish.local_stat ...
* fish.c (linear_close): ... here.
2002-05-21 17:27:30 +00:00
Andrew V. Samoilov
2b3c6b8f0b * fish.c (fish_fh_open): Don't retrieve file if it is
opened for writting only.
2002-05-21 10:50:55 +00:00
Pavel Roskin
0c52fb0f99 * fish.c (file_store): Fix incorrect format string
for print_vfs_message().
* ftpfs.c (file_store): Likewise.
2001-10-20 07:04:31 +00:00
Pavel Roskin
cf59af66de * fish.c (command): Declare with the printf attribute to enable
warnings in gcc.
(file_store): Cast all expressions with file sizes to unsigned
long.  This should fix uploading when large file support is on.
File size is limited to 4096 * ULONG_MAX for now.
2001-10-20 03:41:31 +00:00
Pavel Roskin
13b66d593e * fish.c: Remove useless semicolons after functions. 2001-08-23 17:13:43 +00:00
Pavel Roskin
80f37db22b * fish.c (fish_chown): Do nothing and return success if
getpwuid() or getgrgid() fails.
2001-07-09 16:15:33 +00:00
Pavel Roskin
680f3f7ed2 * cpio.c: Include <config.h> before everything else.
* direntry.c: Likewise.
* fish.c: Likewise.
* ftpfs.c: Likewise.
* local.c: Likewise.
* tar.c: Likewise.
* utilvfs.h: Don't include <config.h> - it should be included
in all C files instead.
* xdirentry.h: Likewise.
2001-06-25 21:34:46 +00:00
Pavel Roskin
6fe51516de * cpio.c (vfs_cpiofs_ops): Use short name for the filesystem.
This avoids creating long filenames in dirent.c when the "name"
field is used.
* extfs.c (vfs_extfs_ops): Likewise.
* fish.c (vfs_fish_ops): Likewise.
* ftpfs.c (vfs_ftpfs_ops): Likewise.
* local.c (vfs_local_ops): Likewise.
(vfs_nil_ops): Likewise.
* mcfs.c (vfs_mcfs_ops): Likewise.
* sfs.c (vfs_sfs_ops): Likewise.
* tar.c (vfs_tarfs_ops): Likewise.
* undelfs.c (vfs_undelfs_ops): Likewise.
2001-06-11 21:58:58 +00:00
Pavel Roskin
926aa5ac6b * fish.c: Redirect stderr of all commands to /dev/null. 2001-05-27 06:46:34 +00:00
Pavel Roskin
f729bde328 * fish.c (free_archive): Use exit' instead of logout' - the
later fails under non-login shells.
(pipeopen): Redirect stderr of ssh to /dev/null.
From Rich Roth:
(dir_load): Redirect stderr of ls to /dev/null.
(linear_start): Likewise.
2001-05-22 20:24:53 +00:00
Pavel Roskin
f5758a24c9 * fish.c (open_archive_int): Redirect stderr of start_fish_server
to stdout so we don't get confused if it doesn't exist.
2001-04-17 19:48:03 +00:00
Pavel Roskin
2dc6461bba * cpio.c (cpio_skip_padding): Warning fix.
* fish.c (dir_load): Likewise.
* mcfs.c: Likewise.
2001-03-08 01:04:58 +00:00
Pavel Roskin
c786ce8984 * cpio.c: Eliminate C++ comments.
* fish.c: Likewise.
2001-02-08 07:13:27 +00:00
Pavel Roskin
e828211662 Updated address of Free Software Foundation 2000-08-22 22:50:00 +00:00
Pavel Machek
f5f1ec0523 2000-04-05 Andrew V. Samoilov <sav@bcs.zp.ua>
* utilfs.c (vfs_split_url): don't assign *pass if pass is NULL
        * fish.c (archive_open, archive_same): memory allocated by
          vfs_split_url () must be released after use, don't strdup()
          values allocated by vfs_split_url () and NULL passed to
          vfs_split_url () when password value is unused
        * ftpfs.c (archive_open, archive_same): ditto plus same for
          ftpfs_get_proxy_host_and_port ()
2000-04-10 12:00:43 +00:00
Pavel Machek
425dbd07c1 2000-03-31 Andrew V. Samoilov <sav@bcs.zp.ua>
* vfs.c (mc_def_getlocalcopy): free() replaced by g_free() to prevent
	  crushes with mad, thanks to Timur I. Bakeyev <timur@bat.ru>
	* fish.c (linear_start): name wasn't freed after usage
	* cpio.c (cpio_ungetlocalcopy): return type changed to int,
	  function return 0 now
	* direntry.c (vfs_s_close, vfs_s_resolve_symlink): memory, allocated
	  by vfs_s_fullpath () is freed after use
	* ftpfs.c (linear_start): ditto;
2000-04-05 13:08:42 +00:00
Pavel Machek
b15c763325 Fixes to way files with space in name are handled. 2000-03-29 13:36:54 +00:00
Pavel Machek
0b25d26cf0 2000-02-25 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
Patch by  Andrew V. Samoilov <sav@bcs.zp.ua>

        * vfs.[ch] (vfs_canon, mc_open, vfs_file_is_local,
          mc_(un)?getlocalcopy): added const qualifier
        (mc_def_getlocalcopy): tempnam() returns malloc()ed buffer,
          so, free() it, not g_free();
        (vfs_canon): prepend filename by cwd when tilde '~' cannot be expanded;
2000-02-25 12:53:06 +00:00
Pavel Machek
fff243a9db 2000-02-18 Andrew V. Samoilov <sav@bcs.zp.ua>
* vfs.c (mc_def_getlocalcopy): tempnam() returns malloc()ed buffer,
         so, free() it, not g_free();
       (vfs_canon): prepend filename by cwd when tilde '~' cannot be expanded;
       * vfs.[ch] (vfs_canon, mc_open, vfs_file_is_local,
         mc_(un)?getlocalcopy): added const qualifier
2000-02-24 12:00:30 +00:00
Norbert Warmuth
e37737c0c9 2000-02-23 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/ftpfs.c: Definition of PORT changed in the middle of ftpfs.c
with unexpected side effects (only when HSC_PROXY was
defined). Introduce HSC_PROXY_PORT and FTP_COMMAND_PORT and use
where appropriate.

(dir_load): Do not hard code the directory cache timeout to 10
seconds. Instead use the setting from Options/Virtual VFS ...

* vfs/fish.c (file_store): honour changed semantics for return value
(on error -1 is expected).

* vfs/ftpfs.c (file_store): dito


* gtkedit/editcmd.c (edit_replace_prompt): fix incorrect
initialization of array of structure (gcc version 2.96 20000131
chokes on it).

* lib/mc.hint: C-y and not C-u can be used to insert text in input
lines (e. g. text which has been deleted with M-d).

* configure.in: Fix the extfs-configure-fragment-in-final-output bug

* src/main.c (parse_control_file): add missing right parentheses

* src/boxes.c: fix incorrect initialization of array of structure (gcc
version 2.96 20000131 chokes on it).
2000-02-23 07:43:14 +00:00
Pavel Machek
748e4c38f9 1999-12-15 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
* Merged changes by Andrew V. Samoilov <sav@bcs.zp.ua>. They are
	mostly internationalization + fixing stupid bugs of mine
1999-12-16 12:55:16 +00:00
Pavel Machek
1139602a9b Return value is needed for mc_[un]getlocalcopy. 1999-11-11 14:23:40 +00:00
Kjartan Maraas
dd6d56508b 1999-08-18 Kjartan Maraas <kmaraas@online.no>
* no.po: Fix typo.
1999-08-17 22:42:14 +00:00
Norbert Warmuth
6fae3e0425 1999-08-15 David Martin <dmartina@usa.net>
* gtkedit/edit.c: Print localized date with strftime()

* src/boxes.c: (symlink_dialog): Move dialog misaligned elements

* vfs/vfs.c (vfs_print_stats): Translate vfs stats

* vfs/shared_ftp_fish.c (s_read, s_lseek): Mark strings for translation

* vfs/fish.c: Translate messages

* src/boxes.c: (symlink_dialog): Move dialog misaligned elements

* src/cmd.c (get_random_hint): Look for localized hint files

* lib/mc.hint.es: NEW FILE. Hints in Spanish flavour.


1999-08-15  Norbert Warmuth  <nwarmuth@privat.circular.de>

* src/cmd.c (guess_message_value): New function. Determine locale used
for messages

(get_random_hint): use guess_message_value

* lib/Makefile.in: added mc.hint.es to LIBFILES_CONST
1999-08-16 05:31:23 +00:00
Timur Bakeyev
e57da1f7b3 Glibing....
Wed Jan 27 03:09:48 1999  Timur I. Bakeyev <mc@bat.ru>

	* All around the source: Changed copy_strings() to g_strconcat(). Modi-
	fy last parameter in concat_dir_and_file() to "" - to prevent stack from
	disbalancing.
1999-01-27 00:49:11 +00:00
Timur Bakeyev
bf81009392 Actually commit all my changers. Fear :> 1999-01-20 22:01:11 +00:00
Miguel de Icaza
85f17a4dc6 Lots of changes:
- SFS-based file systems now work on GNOME edition, I was
	  not waiting for child process to finish decompressing.

	- VFS code cleanup.  I am going to eventually get rid of all
	  the macro-mania that has creeped into the vfs layer.

Miguel
1999-01-11 00:48:23 +00:00
Pavel Machek
3e1a72d64d Some fixes in src/ part (want_stale_data is now done right) and more
daring code in vfs/ (errors are now reported instead of silently
ignored)
1998-12-09 20:22:53 +00:00
Pavel Machek
fc5a9c57c2 Small fixes, now fish should actually work. Dropped ELAST hack. 1998-12-07 10:15:17 +00:00
Sebastian Wilhelmi
8b8a943b6e 1998-12-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* fish.c (FISH_OP): changed snprintf to g_snprintf, as glib is
        used anyway.

        * xdirentry.h (LINK_NO_FOLLOW):
        * tar.c (read_header):
        * direntry.c (vfs_s_resolve_symlink):
        (vfs_s_inode_from_path):
        (vfs_s_open): renamed NO_FOLLOW and FOLLOW to LINK_NO_FOLLOW and
        LINK_FOLLOW resp. to avoid problems on solaris, where FOLLOW and
        NO_FOLLOW are defined in an enum.

        * vfs.h (ELAST): define it to 300, if not already defined, thats a
        bad hack, but what can we do....
1998-12-02 13:17:24 +00:00
Pavel Machek
4706638b22 Big merge: fish now uses proper caching, small fixes almost
everywhere. I hope I did not break it too much.
1998-11-21 19:36:01 +00:00
Miguel de Icaza
f15ee9faf9 Increased version number to 4.5.2
Documentation update.

1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* fish.c (command): Replace vnsprintf with g_strdup_vprintf.  This
	is both safe and more correct, as there is no limit on the
	pathname.

	* ftpfs.c (command): Same as above.

	* util-alone.c (print_vfs_message): Same as above.

1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* layout.c (print_vfs_message): Use g_snprintf instead of
	vnsprintf.
1998-10-30 17:45:43 +00:00
Pavel Machek
37e364fe67 BIG changes: tar now uses brand-new direntry.c. Hope it does not hurt
too much.
1998-10-23 08:26:25 +00:00
Pavel Machek
176dc1f70d static's added, do_reget hack removed 1998-10-12 22:07:53 +00:00
Pavel Machek
136006707c Fixed cursor positioning so that it does not call any vfs code, few
statics added to vfs layer, no longer use '0' in place of NULL.
1998-09-29 16:01:16 +00:00
Pavel Machek
a92e6f3ea8 Changed license to LGPL, added passing of vfs * (acting as self), so
we can do OOP-like trics.
1998-09-27 19:27:58 +00:00
Pavel Machek
a57c127f2d O_LINEAR option added, tar fixed to handle bzip/bzip2 files correctly. 1998-09-21 09:52:07 +00:00
Pavel Machek
7d12623b27 Cleaned up some warnings. 1998-09-18 14:28:07 +00:00
Pavel Machek
ee12728d7d /#ssh: and /#rsh: aliases, ERRNOR() macro 1998-09-18 11:02:04 +00:00
Norbert Warmuth
a04ee60c23 Tue Sep 15 20:51:42 1998 Norbert Warmuth <k3190@fh-sw.de>
* setup.c: save and restore new global variable/option
ftp_use_unix_list_options


Tue Sep 15 20:31:32 1998  Norbert Warmuth  <k3190@fh-sw.de>

* ftpfs.c (ftp_use_unix_list_options): New global variable/option.
If true we try to use 'LIST -la <path>'. When it fails we use the
two commands 'CWD <path>' and 'LIST' instead.

(resolve_symlink): rewritten. Don't get a second directory listing
with `LIST -lLa'. Instead use the cache to get the file stat of
symbolic links. If the directory the symlink points to isn't
already in the cache the directory listing will be fetched and
stored in the directory cache (without resolving symlinks
recursively).
The new method to resolve symlinks is faster if symlinks
the same directory or the directory the symlink points to
is already in the cache.
This function was small and nice until I discovered that it was
broken for symlinks to symlinks. Now it looks ugly and perhaps I
will revert it to use "LIST -lLa" again. With a fast connection it
doesn't matter which methode we use but with a slow connection I
wouldn't hesitate to burn more cpu cycles on the client side.

(retrieve_dir): Added parameter to tell whether to resolve
symlinks (don't resolve symlinks in directory listings retrieved
while resolving symlinks).
When we don't get a directory listing with 'LIST -la <path>' then
try to get it with `CWD <path>; LIST'.


Tue Sep 15 20:27:29 1998  Norbert Warmuth  <k3190@fh-sw.de

* ftpfs.c (login_server): s/ftpfs_get_host/my_get_host/

(retrieve_file_start2): Don't create target file O_EXCL, in
copy_file_file we check existance of the target file and know
that we want to truncate it (this change was already done a
while back but it was reverted with the vfs-split).


Tue Sep 15 20:15:42 1998  Norbert Warmuth  <k3190@fh-sw.de>

* ftpfs.h (struct connection): added boolean which indicates that
the ftp server doesn't unterstand Unix ls options

* ftpfs.h (struct dir): added enum to store symlink status of the
in memory directory cache (directory has no symbolic links;
symbolic links but not yet resolved; symbolic links which are resolved)


Tue Sep 15 20:02:08 1998  Norbert Warmuth  <k3190@fh-sw.de>

* shared_ftp_fish.c, fish.c: updated references to retrieve_dir to
honour the additional boolean parameter
1998-09-15 19:41:22 +00:00
Pavel Machek
f45e5aa3fc Adding fish, cleanups, and small updates everywhere to support fish. 1998-09-13 10:40:43 +00:00