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
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
Pavel Roskin
da7e82d253
Global removal of RCS Id: flags.
2002-09-26 23:13:45 +00:00
Pavel Roskin
d2417f2096
* vfs.c (vfs_parse_filemode): Fix parsing for filenames that
...
begin with a number.
From Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
2002-09-25 05:09:08 +00:00
Pavel Roskin
966511399b
Move fcntl.h inclusion to global.h.
2002-09-23 06:45:32 +00:00
Pavel Roskin
8568fc50d9
* Make-alone.am: Get rid of all standalone code, it has been
...
unmaintained for years.
2002-09-10 21:48:49 +00:00
Pavel Roskin
3697034770
* vfs.c (vfs_init) [!USE_NETCODE]: Don't register fish.
2002-09-06 01:27:45 +00:00
Pavel Roskin
8355430596
* vfs.c (vfs_get_password): Use INPUT_PASSWORD to request a
...
password reliably.
2002-09-03 17:38:30 +00:00
Pavel Roskin
6f0a3ef49f
* vfs.c (vfs_parse_ls_lga): Better error message, avoid empty
...
error messages.
2002-08-24 16:29:24 +00:00
Pavel Roskin
b1dbe77c5b
* vfs.c (mc_def_getlocalcopy): Preserve existing extension.
2002-08-15 22:30:05 +00:00
Pavel Roskin
c0d6dec814
* mcserv.c: Remove all references to MAD.
...
* vfs.c: Likewise.
2002-08-01 19:48:21 +00:00
Pavel Roskin
5389b39585
* vfs.c: Add protection against NULL strings to all is_*() functions.
2002-06-25 21:51:37 +00:00
Andrew V. Samoilov
baf5611b51
* vfs.c (MC_RENAMEOP): Make arguments const.
...
* vfs.h (mc_rename): Adjust declaration.
* (mc_link): Likewise.
2002-05-13 15:39:22 +00:00
Andrew V. Samoilov
bef57252f4
* vfs.c (vfs_print_stats): s/transfered/transferred/
2002-04-24 08:11:07 +00:00
Andrew V. Samoilov
a0ae265bbc
* vfs.c (vfs_init) [!WITH_MCFS]: Don't register mcfs.
2002-04-19 07:25:32 +00:00
Andrew V. Samoilov
1711c0ab8b
* direntry.c (vfs_s_retrieve_file): Use off_t for total
...
and stat_size.
* vfs.c (vfs_s_resolve_symlink): Use snprintf
instead of sprintf.
(vfs_print_stats): Use off_t for have and need. Cast
have to double to eliminate negative percent(s).
Fix print_vfs_message string formats.
* vfs.h (vfs_print_stats): Adjust declaration.
* ftpfs.c (file_store): Use off_t for total.
Fix print_vfs_message string format.
2002-02-08 09:42:38 +00:00
Andrew V. Samoilov
2d966e0364
* vfs.c (mc_return_cwd): Fix comment. Check whatever mc_stat
...
returns. Make mc_return_cwd static const char *.
Reorder if statement to eliminate unneeded mc_stat calls.
2002-01-21 11:52:25 +00:00
Andrew V. Samoilov
dd5ccea5d6
* vfs.c (mc_return_cwd): Memory leak fixed.
2001-11-02 18:18:14 +00:00
Pavel Roskin
388a2fe2bf
* vfs.c (vfs_parse_filetype): Fix fallback to fifo if sockets
...
are not supported locally. Support Solaris doors, also fall
back to fifo.
2001-10-07 09:01:17 +00:00
Pavel Roskin
534e8f432a
* vfs.c: Manually expand macros for mc_stat(), mc_lstat() and
...
mc_fstat() because they don't expand correctly on Solaris 8 with
large file support.
2001-09-17 21:29:51 +00:00
Pavel Roskin
efe396e30e
* vfs.c (vfs_parse_ls_lga): Warning fix if st_nlink is unsigned.
...
Disallow st_nlink = 0.
2001-08-19 16:11:39 +00:00
Pavel Roskin
613dc4d1ca
* vfs.c (mc_return_cwd): Use g_get_current_dir().
2001-07-18 03:44:38 +00:00
Andrew V. Samoilov
442bf424d9
* vfs.c [VFS_STANDALONE]: Undefine WITH_SMBFS, they are mutually
...
exclusive now.
(is_week): Unmade week static.
(is_month): Unmade month static.
(vfs_parse_ls_lga): Optimize memory usage.
2001-06-15 22:42:50 +00:00
Pavel Roskin
5da3b42969
* ftpfs.c: Declare functions without declarations static. Don't
...
omit `void' in declarations.
* cpio.c: Likewise.
* direntry.c: Likewise.
* extfs.c: Likewise.
* mcfs.c: Likewise.
* tar.c: Likewise.
* vfs.c: Likewise.
* vfs.h: Likewise.
* mcserv.c: Likewise. Remove unused functions.
2001-06-14 20:08:27 +00:00
Pavel Roskin
c6f85d7969
* vfs.c (vfs_canon): s/canonize/canonicalize/.
2001-06-02 06:36:00 +00:00
Pavel Roskin
038099783c
* vfs.c (vfs_split_text): Fill `columns' with zeroes before
...
writing new data into it.
2001-05-22 22:40:44 +00:00
Pavel Roskin
bea09b932d
* src/ext.c (exec_extension): Use mc_mkstemps().
...
* src/user.c (execute_menu_command): Use mc_mkstemps().
* src/util.c (mc_mkstemps): New function - safely create and
open temporary file. Return the handle and the name.
* src/util.h: Declarations for init_tmpdir() and mc_mkstemps().
Define TMPDIR_DEFAULT and SCRIPT_SUFFIX.
* vfs/direntry.c (vfs_s_open): Use mc_mkstemps. Create and close
temporary file to reserve its name on the filesystem.
(vfs_s_retrieve_file): Use mc_mkstemps().
(g_tempnam): Remove.
* vfs/extfs.c (extfs_open): Use mc_mkstemps().
* vfs/sfs.c (redirect): Likewise.
* vfs/shared_ftp_fish.c (_get_file_entry): Likewise.
(retrieve_file): Likewise.
* vfs/vfs.c (mc_def_getlocalcopy): Likewise.
* vfs/xdirentry.h: Remove declaration of g_tempnam().
2001-05-21 16:21:07 +00:00
Pavel Roskin
8a025d6efa
* vfs.c (vfs_addstamp): Rename st1 to last_stamp. Initialize it
...
with NULL to suppress compiler warning.
2001-05-18 19:04:42 +00:00
Andrew V. Samoilov
4ac1c260e9
* vfs.[ch] (vfs_parse_ls_lga, vfs_parse_filemode): p constified
...
(vfs_strip_suffix_from_filename): filename constified
(vfs_parse_ls_lga): memory leaking fixed when line can't be parsed,
chomping unified
2001-03-05 06:00:27 +00:00
Pavel Machek
7c997958f6
Error handling of ungetlocalcopy was buggy. Fixed.
2001-02-28 21:50:57 +00:00