Commit Graph

178 Commits

Author SHA1 Message Date
Roland Illig 54cccec688 * utilvfs.h: Removed unneeded #includes.
* *.c: Added the #includes that have been removed from utilvfs.h.
	* tcputil.c: Just removed the unneeded #include "utilvfs.h".
2005-02-19 16:36:38 +00:00
Roland Illig 5d55e9b92f * vfs.c (vfs_translate_url): Add support for smb://, sh://,
ssh:// and mc:// filesystem requests. Introduced separate table
	for vfs aliases.
	* util.c (strip_password): Modifications to take the aliases into
	account while eliminating passwords.

	The original patch was extended by Roland Illig.
2005-02-12 14:30:48 +00:00
Roland Illig 6bbbeb77b4 * vfs.c: Changed types for mc_chmod, mc_chown, mc_mknod to mode_t,
uid_t, gid_t, and dev_t where appropriate.

	Patch extended by Roland Illig.
2004-11-16 16:16:08 +00:00
Roland Illig b7fa9f0e5f * vfs.c: fix MC_NAMEOP macro calls to use the canonicalized path. 2004-11-15 22:55:50 +00:00
Andrew V. Samoilov 6c2dcea9ff * vfs.c (vfs_prefix_to_class): Avoid last class (localfs) that would
accept any prefix.
2004-11-08 00:04:32 +00:00
Andrew V. Samoilov ea5c3dead6 * vfs.c (mc_def_getlocalcopy): Don't close fd -1.
(_vfs_get_class): Make path "char *" instead of
        "const char *" because it write to path.

        (vfs_get_class): Use g_strdup()/g_free() to do "pathname"
        really "const char *".
2004-10-25 12:22:52 +00:00
Roland Illig 7b6f1db773 * vfs.c (_vfs_get_class): Reverted my last patch because
Leonard reported it to make mc crash.
2004-09-26 11:06:38 +00:00
Roland Illig 1fb7d67048 * vfs.c (_vfs_get_class): Fixed segmentation fault introduced today. 2004-09-25 19:57:20 +00:00
Roland Illig 6f34e18e3e * ftpfs.c (ftpfs_find_machine): Added const qualifier.
* mcserv.c (do_auth): Likewise.
	* utilvfs.c (is_month): Likewise. (is_time): Likewise.
	(is_week): Likewise.
	* vfs.c (_vfs_get_class): Added const qualifier.
	(vfs_prefix_to_class): Added a string length parameter to
	reduce the use of g_strdup. (vfs_split): Changes due to the
	new string length parameter.
2004-09-25 14:06:27 +00:00
Andrew V. Samoilov c060826178 * direntry.c (vfs_s_free_entry): g_free handles NULL argument too,
no need for the comparison.
        * extfs.c (extfs_free_archive): Likewise.
            (extfs_open_archive): Likewise.
            (extfs_read_archive): Likewise.
            (extfs_remove_entry): Likewise.
            (extfs_free_entry): Likewise.
        * fish.c (fish_open_archive): Likewise.
            (fish_archive_same): Likewise.
        * ftpfs.c (ftpfs_split_url):  Likewise.
        * local.c       (local_closedir): Likewise.
        * mcserv.c (close_handle): Likewise.
        * smbfs.c (smbfs_free_bucket): Likewise.
        * tar.c (tar_read_header): Likewise.
        * undelfs.c (undelfs_shutdown): Likewise.
        * vfs.c (vfs_shut): Likewise.
2004-09-24 23:00:18 +00:00
Roland Illig e9fcc04816 * vfs.c (mc_open): Corrected FIXME. Now the "mode" parameter is
only accessed when flags contains O_CREAT.
2004-09-24 16:03:24 +00:00
Roland Illig 4bc786735e * cpio.c: Replaced NULL with (char *) NULL. Likewise for 0, where
NULL was meant.
	* direntry.c: Likewise.
	* extfs.c: Likewise.
	* fish.c: Likewise.
	* ftpfs.c: Likewise.
	* mcfs.c: Likewise.
	* tar.c: Likewise.
	* undelfs.c: Likewise.
	* vfs.c: Likewise.
2004-09-24 15:08:21 +00:00
Andrew V. Samoilov c9f834b501 * vfs.c (vfs_cmp_handle): Fixing warnings on on 64-bit
platforms.
        (vfs_op):Likewise.
        (vfs_info):Likewise.
        (vfs_free_handle):Likewise.
        * extfs/rpm (mcrpmfs_run): Quote parameters to calls
        to system/open that spawn a shell.
        * direntry.c (vfs_s_find_entry_tree): Make "size"
        size_t.
2004-09-03 21:23:05 +00:00
Andrew V. Samoilov 71ffc327b5 * fish.c (fish_get_reply): Use g_strlcpy instead
sequence strncpy(), name[len] = '\0'
* vfs.c (mc_get_current_wd): Likewise.
2004-09-01 18:39:48 +00:00
Roland Illig c64cec997a * vfs.c (mc_chdir): Fixed memory leak. 2004-08-26 00:17:36 +00:00
Roland Illig acd63d7374 Moved the declaration of the init_*fs functions into specialized headers (*fs.h or vfs-impl.h). 2004-08-17 09:17:43 +00:00
Roland Illig 1105b8e941 Splittet the vfs.h header into a user's part (vfs.h) and an implementor's part (vfs-impl.h). 2004-08-16 23:25:49 +00:00
Roland Illig 3cf53917e1 Const-ified the mc_* functions. 2004-08-16 22:40:31 +00:00
Roland Illig db3f21b702 Added a typedef for a function. Added more const-ness to the function arguments. 2004-08-16 16:34:11 +00:00
Roland Illig a0616a76be mc_ungetlocalcopy does not free its second argument anymore. 2004-08-16 15:18:18 +00:00
Roland Illig f17c1f291c mc_ungetlocalcopy does not free its second argument anymore. 2004-08-16 15:18:17 +00:00
Andrew V. Samoilov 2f7bbc2c31 * vfs.c (mc_def_ungetlocalcopy): Fix missed "%s".
* utilvfs.c (vfs_parse_ls_lga): Likewise.
2004-03-07 06:07:43 +00:00
Pavel Roskin fc9bf6040f * gc.c (vfs_ncs_getid): Merge with vfs_getid(). 2003-11-26 21:25:30 +00:00
Pavel Roskin 6ffd35bf07 * gc.c: Eliminate all code for timestamping parent filesystems.
It's broken and undocumented.  Adjust all dependencies.
2003-11-26 21:10:42 +00:00
Pavel Roskin a128188ae1 Warning fixes for FreeBSD 5.1. 2003-11-21 03:17:18 +00:00
Pavel Roskin 54b8c9aaad * vfs.c (vfs_split): Deconstify.
* direntry.c (vfs_s_get_path_mangle): Likewise.  "mangle" is in
the name for a reason.  Use vfs_s_get_path() instead where the
path should be preserved.
* extfs.c (extfs_get_path_mangle): Likewise.
* sfs.c (sfs_vfmake): Protect against changes in vfs_split().
2003-11-14 08:25:50 +00:00
Pavel Roskin 30c4bd1b6d * vfs.h: Constify chdir() and opendir() methods. Adjust all
dependencies.
* vfs.c (mc_chdir): Constify, eliminate protection against
broken implementations of chdir() method.
(mc_opendir): Constify.
2003-11-13 08:29:37 +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 106a90ae99 * vfs.c: Eliminate MC_OP. Reorder other MC_* macros for
readability.
2003-11-05 06:34:20 +00:00
Pavel Roskin 0318ed5d0b * vfs.c: Move all parsing code, vfs_die() and vfs_get_password()
to utilvfs.c, vfs_print_stats() to direntry.c.
* utilvfs.c (vfs_parse_ls_lga): Disable caching current date,
it's done incorrectly.
2003-11-05 06:08:16 +00:00
Pavel Roskin c468c1b6e9 * vfs.c: Allocate handles dynamically.
(get_bucket): Rewrite as vfs_new_handle().
(vfs_op): Make a function.
(vfs_info): Likewise.
(vfs_free_bucket): Replace with vfs_free_handle().
(mc_readdir): Expand, eliminate MC_DIROP.
2003-11-05 00:12:25 +00:00
Pavel Roskin 24dd87b714 * vfs.c (vfs_rmstamp): Rescan the tree after the parents have
been removed.  Otherwise using old data causes data corruption
in some combinations (e.g. extfs inside tatfs).
2003-10-30 05:58:06 +00:00
Pavel Roskin f2550b08ee * extfs.h: Merge ...
* extfs.c: ... here.
* Makefile.am: Remove extfs.h.
2003-10-29 23:05:27 +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 edce41facd * utilvfs.c (vfs_mkstemps): New function - create temporary file
with the name resembling the original, but safe for scripts.
* direntry.c (vfs_s_open): Use it.
(vfs_s_retrieve_file): Likewise.
* extfs.c (extfs_open): Likewise.
* sfs.c (sfs_redirect): Likewise.
2003-10-29 00:50:36 +00:00
Pavel Roskin 77bcdc8127 * vfs.c (mc_ungetlocalcopy): Free local path here, not in class
implementations.
* vfs.h (struct vfs_s_class): Constify "local" argument for
ungetlocalcopy.  Adjust all implementations.
2003-10-28 21:52:06 +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 520f6ddb6c * vfs.c (mc_def_getlocalcopy): Use O_LINEAR when retrieving the
remote file.  This avoids an extra temporary file.
2003-10-27 21:55:06 +00:00
Pavel Roskin 4ee3f26133 * cpio.c (cpio_ungetlocalcopy): Remove.
* tar.c (tar_ungetlocalcopy): Likewise.
* vfs.c (mc_def_ungetlocalcopy): Add support for read-only
filesystems.
2003-10-27 21:01:00 +00:00
Pavel Roskin 24384e9a89 * panel.h: Fix duplication between cpanel and current_panel in
favor of current_panel.  Ditto opanel and other_panel.
2003-10-26 06:45:59 +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 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 3b2e731d3d * vfs.c (mc_open): Fix rare memory leak on failure. 2003-10-16 20:46:08 +00:00
Pavel Roskin 0b99804da2 * names.c: Merge ...
* utilvfs.c: ... here.
* names.h: Merge ...
* utilvfs.h: ... here.
* Makefile.am: Remove references to names.c and names.h.
2003-10-16 16:50:09 +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 426c1836d5 * vfs.h: Remove all references to seekdir and telldir. Adjust
all dependencies.
2003-10-14 22:24:26 +00:00
Pavel Roskin 600891d8d5 * vfs.c (_vfs_add_noncurrent_stamps): Fix incorrect casts. 2003-10-13 06:56:31 +00:00
Pavel Roskin 72c64a60e2 * extfs.c: Switch to self-registration.
* mcfs.c: Likewise.
* sfs.c: Likewise.
* smbfs.c: Likewise.
* undelfs.c: Likewise.
* vfs.s (_vfs_add_noncurrent_stamps): Temporary disable code
that uses vfs_extfs_ops.
(vfs_file_is_smb): Remove.
2003-10-12 22:25:53 +00:00