Commit Graph

108 Commits

Author SHA1 Message Date
Roland Illig
34a8088483 Splittet the vfs.h header into a user's part (vfs.h) and an implementor's part (vfs-impl.h). 2004-08-16 23:18:42 +00:00
Roland Illig
b17b1ac213 Const-ified the rest of the vfs_class methods. 2004-08-16 22:15:28 +00:00
Roland Illig
e0bf99d516 Made the path argument to vfs->{chmod,chown,utime} constant. 2004-08-16 21:36:39 +00:00
Roland Illig
dc70d154db Made the buf argument to vfs->write constant. 2004-08-16 21:16:54 +00:00
Roland Illig
789e5e9bcb Made the path argument to vfs->[l]stat constant. Created a new memory leak, which will be fixed soon. 2004-08-16 20:26:42 +00:00
Roland Illig
b472c18c79 Made the patch argument to vfs->which const. 2004-08-16 19:47:21 +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
f17c1f291c mc_ungetlocalcopy does not free its second argument anymore. 2004-08-16 15:18:17 +00:00
Andrew V. Samoilov
5b290ada65 * extfs.c (extfs_init): Fix possible off-by-one buffer underflow
for empty lines in extfs.ini.
2004-08-14 10:51:00 +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
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
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
de12104436 * gc.c: Use NULL instead of -1 for empty vfsid. Adjust all
dependencies.
* undelfs.c (undelfs_get_path): Don't shadow static ext2_fname.
(undelfs_getid): Likewise.  Use fs for non-empty vfsid.
2003-11-12 23:00:16 +00:00
Pavel Roskin
4eab382dba * gc.c: Make getid(), nothingisopen() and free() methods
optional.  Eliminate trivial implementations.
(vfs_getid): New function - safe wrapper around getid().  Use
it everywhere.
(vfs_ncs_getid): Remove dead code, inprove readability.
2003-11-08 23:53:00 +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
cb2aaf4c16 * extfs.c: Remove current_dir field, its role was purely
decorative.  Rename names starting with underscore.
2003-10-29 23:16:31 +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
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
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
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
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
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
b2486a2b71 * extfs.c: Don't include xdirentry.h.
* vfs.c: Likewise.
2003-10-11 09:36:29 +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
091023c37a * undelfs.c (undelfs_get_path): Constify first argument.
* vfs.h (struct vfs_class): Constify path.  Fix all dependencies.
2003-10-11 07:20:53 +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
94e14aacfb * direntry.c (vfs_s_dump): Commented out.
* extfs.c (s_readlink): Fix return value and possible buffer
overflow.
* mcfs.c (mcfs_readlink): Fix return value.
* mcserv.c (do_readlink):  Fix possible off-by-one.
(commands): Make const array and remove needless comma.
2003-08-29 22:48:25 +00:00
Pavel Roskin
e06e87edc2 Include execute.h. 2003-06-22 09:18:12 +00:00
Pavel Roskin
5b2bd08768 * configure.in: Remove test for SCO UNIX. Remove all references
to SCO_FLAVOR everywhere.  SCO flavor is rather unsavory now.
2003-06-18 04:47:17 +00:00
Pavel Roskin
4d548cc4b1 * extfs.c (extfs_cmd): Quote localname - it's based on the entry
name, so it can contain dangerous symbols like "&".
2003-03-11 00:01:56 +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
Pavel Roskin
9dc4fc6342 * extfs.c (read_archive): Free archive if the "list" command
returned non-zero, return -1.
Initial implemntation from Adam Byrtek <alpha@debian.org>
2002-12-25 21:42:59 +00:00
Pavel Roskin
0fce236546 * extfs.c (__find_entry): When creating entried for regular
files, set initial permissions to S_IFREG | 0666.  This fixes
problems with viewing and editing newly added files.
2002-12-09 05:21:48 +00:00
Pavel Roskin
b246f3c7ea s/Could not/Cannot/ 2002-12-08 01:12:18 +00:00
Pavel Roskin
7a16741def * extfs.c (extfs_open): Don't run "copyout" if the file just has
been created or O_TRUNC is given in the flags.
Reported by Adam Byrtek 'alpha' <alpha@irc.pl>
2002-12-07 02:37:58 +00:00
Andrew V. Samoilov
4925d2cdd5 * extfs.c: Don't include ../src/profile.h.
(extfs_open): Remove local_filename if copyout fails.
2002-12-06 14:44:51 +00:00
Pavel Roskin
01330333b5 Add fixme. 2002-12-06 06:10:52 +00:00
Pavel Roskin
03b1481cda * extfs.h: Remove "extfsstat" from struct archive - it's unused
outside open_archive().  Adjust the dependencies.
* extfs.c: Make hstat local variable.
2002-12-06 03:14:41 +00:00
Pavel Roskin
b9c6a9b3d1 * vfs.h: Remove vfs_uid and vfs_gid. Fix all dependencies. 2002-12-06 02:14:28 +00:00