Commit Graph

80 Commits

Author SHA1 Message Date
Pavel Roskin
4b5a2a0b62 * direntry.c (vfs_s_stamp_me): Generalize and move ...
* gc.c (vfs_stamp_create): ... here.  Use whenever possible.
2003-11-13 08:03:03 +00:00
Pavel Roskin
b33f2cbb47 * vfs.c: Split garbage collection code into ...
* gc.c: ... this.
* vfs.h: Corresponding code moved ...
* gc.h: ... here.
* Makefile.am: Adjustments for the above.
2003-11-07 23:43:55 +00:00
Pavel Roskin
0ba019a90b * configure.in: Use AC_CHECK_MEMBERS to check fields of struct
stat.  Adjust all dependencies.
2003-10-29 17:36:16 +00:00
Pavel Roskin
cd644b527c * fish.c (fish_fh_open): Use vfs_mkstemps() for write buffers as
well, since the file can be reopened for reading later.
* ftpfs.c (ftpfs_fh_open): Likewise.
2003-10-29 01:35:36 +00:00
Pavel Roskin
8e3a0c9d65 * direntry.c (vfs_s_init_class): Improve interface to allow more
code reuse.  Change all callers.
(vfs_s_getlocalcopy): New implementation.  Don't use
mc_def_getlocalcopy().  Use vfs_s_open() to create local copy.
(vfs_s_ungetlocalcopy): New function.
* xdirentry.h: Add new field "flags" to struct vfs_s_subclass.
* extfs.c (extfs_ungetlocalcopy): Don't use
mc_def_ungetlocalcopy() in the dead branch.
* vfs.c (mc_def_getlocalcopy): Make static.
(mc_def_ungetlocalcopy): Likewise.
2003-10-28 07:09:39 +00:00
Pavel Roskin
7d16d65e35 * vfs.h: Constify some arguments for many functions.
* xdirentry.h: Likewise.  Adjust all dependencies.
2003-10-28 02:10:33 +00:00
Pavel Roskin
5bc20fd294 * *.c: Rename functions that don't have an a prefix indicating
what file they are defined in.  This simplifies debugging.
2003-10-28 00:57:02 +00:00
Pavel Roskin
211ce16fac * wtools.c: Merge mc_message() and message() into one background
safe function message().  Fix all callers.
2003-10-26 04:47:20 +00:00
Pavel Roskin
50045218ab Remove unneeded includes in ../src 2003-10-25 21:34:57 +00:00
Pavel Roskin
2d33b5047e * background.c: Replace all message stubs with a new function
mc_message().  Protect against strlen(MSG_ERROR).  Adjust all
dependencies.
2003-10-25 19:54:24 +00:00
Pavel Roskin
7c4fc715da * direntry.c (vfs_s_setctl): Implement VFS_SETCTL_FLUSH.
* ftpfs.c: Remove ftpfs_flushdir.  Use MEDATA->flush.
* fish.c: Use MEDATA->flush.
2003-10-16 18:51:41 +00:00
Pavel Roskin
63740624ea * xdirentry.h: Rename vfs_s_data to vfs_s_subclass.
* cpio.c: Initialize only non-zero fields in vfs_s_subclass.
* fish.c: Likewise.
* ftpfs.c: Likewise.
* tar.c: Likewise.
2003-10-16 16:40:11 +00:00
Pavel Roskin
52844a3092 * vfs.h: Rename commands for mc_ctl() and mc_setctl() to make it
clear which function they are used with.
* vfs.c (mc_ctl): Change last argument to (void*).
(mc_set): Likewise.
Adjust all dependencies.
2003-10-16 16:12:19 +00:00
Pavel Roskin
fc7267906f * xdirentry.h: Move system includes to the files that need them. 2003-10-16 08:47:33 +00:00
Pavel Roskin
a6754ce841 * xdirentry.h: Cleanup unused or write-only fields. Adjust all
dependencies.
2003-10-16 05:47:23 +00:00
Pavel Roskin
6cf97f4069 * xdirentry.h: Remove all typedefs, there is no need to hide the
fact that structures are structures.  Fix all dependencies.
2003-10-12 01:00:44 +00:00
Pavel Roskin
00b57fd4bf * vfs.h: Remove typedef vfs, it's too ambiguous. Massive
changes to use struct vfs_class instead.
2003-10-12 00:24:00 +00:00
Pavel Roskin
1d6e00faf0 * vfs.h: Introduce new VFS flags instead of the old unused ones.
* vfs.c (vfs_file_class_flags): New function.
(vfs_file_is_ftp): Eliminate.
(vfs_file_is_smb): Likewise.
(vfs_file_is_local): Likewise.
(vfs_current_is_local): Use new VFSF_LOCAL flag.
2003-10-11 08:21:16 +00:00
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