Commit Graph

47 Commits

Author SHA1 Message Date
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
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
bc455d5840 * direntry.c (vfs_s_find_inode): Only allow search from root.
Change second argument to superblock to prevent abuse.
2003-10-27 03:09:40 +00:00
Pavel Roskin
511321bcfd * direntry.c (vfs_s_add_dots): Remove. Fix all callers.
(vfs_s_free_inode): Remove support for "." and ".." entries.
* ftpfs.c (dir_load): Likewise.
Support for "." and ".." entries was a hack that could make the
cache non-traversible from inodes to the root and cause infinite
loop in vfs_s_fullpath().
Reported by Frédéric L. W. Meunier <lists1@pervalidus.net>
2003-10-27 01:26:18 +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
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
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
dcd2b9e8fc * xdirentry.h: Fix typos in field names. 2003-10-16 06:05:39 +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
9632550889 * cpio.c (init_cpiofs): Set vfs_cpiofs_ops.setctl to NULL, or
bad things happen after unsuccessful deletion.
2003-10-11 05:50:34 +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
26deaaf5a5 Typo fix. 2003-03-15 14:54:25 +00:00
Pavel Roskin
b246f3c7ea s/Could not/Cannot/ 2002-12-08 01:12:18 +00:00
Pavel Roskin
b9c6a9b3d1 * vfs.h: Remove vfs_uid and vfs_gid. Fix all dependencies. 2002-12-06 02:14:28 +00:00
Pavel Roskin
7f6b843a94 * cpio.c (cpiofs_data): Warning fix in initization.
* tar.c (tarfs_data): Likewise.
2002-11-11 07:46:21 +00:00
Pavel Roskin
bd4b18731e s/suplied/supplied/
s/duplicit/duplicate/
2002-09-27 00:17:10 +00:00
Pavel Roskin
da7e82d253 Global removal of RCS Id: flags. 2002-09-26 23:13:45 +00:00
Pavel Roskin
82009e2ab0 * cpio.c (cpio_read_crc_head): Undo change in the error message. 2002-07-15 16:16:26 +00:00
Pavel Roskin
3738d4cee0 * cpio.c (cpio_open_cpio_file): Fix type initialization.
From Andrew V. Samoilov <kai@cmail.ru>
2002-07-03 13:10:01 +00:00
Pavel Roskin
7f6c3c3bb6 is_gunzipable() -> get_compression_type() 2002-07-02 21:12:10 +00:00
Andrew V. Samoilov
1d9879b0be Fix offset calculation for symbolic links. 2002-06-06 15:16:29 +00:00
Andrew V. Samoilov
64b2eb4db3 * cpio.c (cpio_read_oldc_head): Use char[] for buf instead
of char*[].  Remove unneeded casts.  Fix error message.
(cpio_create_entry): G_free name.
2002-06-06 12:42:23 +00:00
Andrew V. Samoilov
291ab2422f * cpio.c (cpio_skip_padding): Handle old ASCII format. 2002-04-12 13:16:00 +00:00
Pavel Roskin
f3ca861b8f * cpio.c: Don't include glib.h directly. 2002-01-24 15:51:57 +00:00
Pavel Roskin
6975fdf5e8 * vfs.h: Remove all tricks with system headers, they all should
be in global.h.
* cpio.c: Include utilvfs.h earlier.
* tar.c: Likewise.
2002-01-21 21:26:49 +00:00
Andrew V. Samoilov
a9b290f926 * cpio.c (cpio_read_bin_head): Release name if mc_read fails.
(cpio_read_crc_head): Likewise.
2001-10-30 11:42:44 +00:00
Andrew V. Samoilov
888a4f073b * cpio.c (cpio_read_crc_head): Fix buffer overflow.
(cpio_read_oldc_head): Likewise. By drk@sgi.com.
http://bugzilla.gnome.org/show_bug.cgi?id=60933

* (cpio_read_oldc_head): Release name if mc_read fails.
2001-10-25 14:24:29 +00:00
Pavel Roskin
78940c0e53 * cpio.c (cpio_read_head): Check return value of cpio_find_head,
because it's not equal to super->u.cpio.type in case of errors.
2001-08-19 03:38:52 +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
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
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
02cd7bff21 * utilvfs.h: Include background.h.
* cpio.c: Include utilvfs.h.
2001-05-14 23:30:21 +00:00
Pavel Roskin
2dc6461bba * cpio.c (cpio_skip_padding): Warning fix.
* fish.c (dir_load): Likewise.
* mcfs.c: Likewise.
2001-03-08 01:04:58 +00:00
Pavel Roskin
447597a790 * vfs.h: Include sys/timeb.h if it's present. Include time.h and
sys/time.h as recommended by Autoconf documentation.
* cpio.c: Remove all time-related includes - they are in vfs.h.
* extfs.c: Likewise.
* ftpfs.c: Likewise.
* mcfs.c: Likewise.
* mcserv.c: Likewise.
* tar.c: Likewise.
* util-alone.c: Likewise.
* vfs.c: Likewise. Include xdirentry.h.
2001-02-20 16:55:58 +00:00
Pavel Roskin
c786ce8984 * cpio.c: Eliminate C++ comments.
* fish.c: Likewise.
2001-02-08 07:13:27 +00:00
Pavel Roskin
e828211662 Updated address of Free Software Foundation 2000-08-22 22:50:00 +00:00
Pavel Machek
425dbd07c1 2000-03-31 Andrew V. Samoilov <sav@bcs.zp.ua>
* vfs.c (mc_def_getlocalcopy): free() replaced by g_free() to prevent
	  crushes with mad, thanks to Timur I. Bakeyev <timur@bat.ru>
	* fish.c (linear_start): name wasn't freed after usage
	* cpio.c (cpio_ungetlocalcopy): return type changed to int,
	  function return 0 now
	* direntry.c (vfs_s_close, vfs_s_resolve_symlink): memory, allocated
	  by vfs_s_fullpath () is freed after use
	* ftpfs.c (linear_start): ditto;
2000-04-05 13:08:42 +00:00
Pavel Machek
0b25d26cf0 2000-02-25 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
Patch by  Andrew V. Samoilov <sav@bcs.zp.ua>

        * vfs.[ch] (vfs_canon, mc_open, vfs_file_is_local,
          mc_(un)?getlocalcopy): added const qualifier
        (mc_def_getlocalcopy): tempnam() returns malloc()ed buffer,
          so, free() it, not g_free();
        (vfs_canon): prepend filename by cwd when tilde '~' cannot be expanded;
2000-02-25 12:53:06 +00:00
Pavel Machek
fff243a9db 2000-02-18 Andrew V. Samoilov <sav@bcs.zp.ua>
* vfs.c (mc_def_getlocalcopy): tempnam() returns malloc()ed buffer,
         so, free() it, not g_free();
       (vfs_canon): prepend filename by cwd when tilde '~' cannot be expanded;
       * vfs.[ch] (vfs_canon, mc_open, vfs_file_is_local,
         mc_(un)?getlocalcopy): added const qualifier
2000-02-24 12:00:30 +00:00
Pavel Machek
bc97907e77 Make cpiofs compilable. 2000-02-23 12:35:36 +00:00
Pavel Machek
5d240399be 2000-02-22 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
* cpio.c: added. Thanx to Jan Hudec <bulb@centrum.cz>, who wrote
        it using code from tarfs.
2000-02-22 18:21:41 +00:00