Commit Graph

144 Commits

Author SHA1 Message Date
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
Pavel Roskin
2e524d3cad * local.c: Switch to self-registration.
* vfs.c: Cache localfs class for the use in vfs_get_class().
2003-10-12 19:57:27 +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
4b1ec7399b * vfs.c (vfs_setup_wd): Initialize current_vfs here, not
globally.
(vfs_type_from_op): Rename to vfs_prefix_to_class(), avoid using
vfs_local_fs.
(vfs_strip_suffix_from_filename): Don't use vfs_local_fs.
2003-10-11 22:17:52 +00:00
Pavel Roskin
6e6fd9b352 * vfs.c (vfs_add_noncurrent_stamps): Call vfs_rm_parents() at
the end.  Change all callers not to call it.
(vfs_rm_parents): Make static.
2003-10-11 17:30:54 +00:00
Pavel Roskin
3fb8e46501 * direntry.c: Don't use vfs_local_fs directly, use VFSF_LOCAL.
* extfs.c: Likewise.
* vfs.c (vfs_addstamp): Likewise.
(vfs_init): Register vfs_local_fs like other classes.
2003-10-11 16:54:46 +00:00
Pavel Roskin
5cad1eb493 * tarfs.c: Switch to self-registration. 2003-10-11 09:55:13 +00:00
Pavel Roskin
b2486a2b71 * extfs.c: Don't include xdirentry.h.
* vfs.c: Likewise.
2003-10-11 09:36:29 +00:00
Pavel Roskin
c028805b33 * ftpfs.c: Switch to self-registration. 2003-10-11 09:27:37 +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
60bab59379 * vfs.c: Constify arguments of many functions. 2003-10-11 07:38:05 +00:00
Pavel Roskin
5659c0f5ee * vfs.c (vfs_release_path): New function, code taken from
_do_panel_cd().
(vfs_ncs_getid): Make static.
2003-10-11 06:43:59 +00:00
Pavel Roskin
9d1f2aae71 * vfs.c (vfs_type): Rename to vfs_get_class(). Fix prototype to
avoid using internal vfs type.  Adjust all dependencies.
(vfs_rosplit): Rename to _vfs_get_class().
2003-10-11 06:25:29 +00:00
Pavel Roskin
617bf6880a * vfs.c (vfs_flags): Eliminate, it's never assigned a non-zero
value.
* vfs.h: Eliminate unused VFS flags.
* local.c (vfs_nil_ops): Eliminate, it's unused now.
2003-10-10 23:49:44 +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
b2edfddd7e * vfs.h: Rename "struct _vfs" to "struct vfs_class". Allow
calling vfs_register() in the file defining the VFS class.
* vfs.c (vfs_init): Register cpiofs in cpio.c.
(vfs_register): Rename to vfs_register_class(), remove "static".
* direntry.c (vfs_s_init_class): New function - generic VFS
class registraction for vfs_s descendants.
* cpio.c: Register VFS class locally.
2003-10-10 23:13:09 +00:00
Pavel Roskin
9ddf2306e5 * vfs.c (vfs_type_from_op): Check if vfs->prefix is NULL before
calling strlen() on it.
(vfs_strip_suffix_from_filename): Likewise.
(mc_chdir): Don't panic if no chdir function is defined.  This
fixes "cd #gz".
2003-09-28 20:35:08 +00:00
Pavel Roskin
525deb6fc7 * vfs.c (vfs_canon): Remove tilde expansion. mc_chdir() should
act like chdir() of localfs, which doesn't expand tilde.
Reported by Doncho Gunchev <mr700@globalnet.bg>
2003-09-23 05:18:50 +00:00
Pavel Roskin
cdd8f8ce86 * vfs.c (mc_get_current_wd): Use g_strlcpy() to avoid unneeded
padding and silence Valgrind.
2003-09-22 19:43:41 +00:00
Pavel Roskin
ab84c14503 * vfs.c: Rename mc_return_cwd() to _vfs_get_cwd(). Move
related functions closer to each other, add comments.
2003-06-06 00:50:22 +00:00
Pavel Roskin
6df9219f85 * extfs.c (extfs_open): Retain original filename as a suffix
for the temporary filename.
* vfs.c (mc_def_getlocalcopy): Likewise.
2003-02-26 17:43:18 +00:00
Andrew V. Samoilov
004ae18d9e * vfs.c (is_localized_month): New function for locale's
abbreviated month name as any 3 bytes long string without digits
and control characters.
(vfs_parse_filedate): Fallback to is_localized_month() if
is_month() and is_dos_date() fail and set date to Jan 1 1970.
(vfs_parse_ls_lga): Use is_localized_month().
2003-02-19 08:38:49 +00:00
Pavel Roskin
f2c028ce46 s/can not/cannot/ 2002-12-26 02:21:37 +00:00
Pavel Roskin
423849f74d Partly revert the last change - low-level chdir actually writes to
the "directory" argument, so preserve it.
2002-12-25 04:38:50 +00:00
Pavel Roskin
075d359907 * vfs.c (mc_chdir): Don't change current directory until the
low-level chdir succeeds.
2002-12-25 04:02:34 +00:00
Pavel Roskin
3a377a802d * vfs.c (vfs_name): Eliminate - it's unused and wrong. 2002-12-25 02:47:21 +00:00
Pavel Roskin
63faf36f15 * vfs.c (is_dos_date): Allow 4-digit years.
(vfs_parse_filedate): Don't limit length of the year field for
DOS dates, subtract 1900 if necessary.
2002-12-13 00:22:06 +00:00
Andrew V. Samoilov
60a725395c * vfs.c (mc_stat): Make first argument const.
(mc_lstat): Likewise.
* vfs.h: Adjust declarations and remove some useless defines.
2002-12-11 09:36:50 +00:00
Pavel Roskin
b246f3c7ea s/Could not/Cannot/ 2002-12-08 01:12:18 +00:00
Pavel Roskin
5cb2ef30f3 Fix duplicate declarations. 2002-11-15 06:38:55 +00:00
Pavel Roskin
91f7a47331 * vfs.c: Leave only necessary includes from ../src. 2002-11-11 06:28:30 +00:00
Pavel Roskin
e5140f37d4 * vfs.c: Make the last argument to MC_OP non-empty in the
definition of MC_HANDLEOP.  Needed for Mac OS X.
Reported by Wim Rijnders <wimrijnders@home.nl>
2002-11-11 02:03:35 +00:00
Andrew V. Samoilov
4e7527980a * vfs.c (mc_get_current_wd): Make shue returned string is null terminated. 2002-11-06 18:41:34 +00:00
Pavel Roskin
3f40a2b274 * vfs.c: Remove unused code.
* vfs.h: Define vfs_uid and vfs_gid as 0, they never change.
2002-11-03 10:24:45 +00:00
Pavel Roskin
d3f0a2f61b Remove spaces around "Error" and "Warning" together with their translations.
Also remove spaces from "Quit" and "Search", but leave alone the
translations, that already have them without spaces.
2002-10-21 04:13:49 +00:00