Commit Graph

63 Commits

Author SHA1 Message Date
Pavel Roskin
fc6e8e67f2 * cpio.c (cpio_find_head): Fix for logical error that can cause
crash on broken cpio archives.
2005-03-29 05:24:26 +00:00
Roland Illig
d7e7ec48dd * *.c: Declared unused variables with (void) to avoid the gcc
warnings.
	* extfs.c (extfs_get_path_mangle, extfs_get_path): Removed unused
	parameter.
	* ftpfs.c (ftpfs_netrc_bad_mode): Likewise.
	* vfs.c (mc_def_getlocalcopy): Likewise.
2005-02-22 18:35:22 +00:00
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
ab442fdeee * cpio.c: Added some FIXMEs about data representation. 2005-02-08 05:53:13 +00:00
Roland Illig
9558c7178f * src/info.c (info_show_info): Enabled display of the device number,
for the case that the column in the directory listing is too
	short. This had been disabled since 1994, for no obvious reason
	and without any comment.
	* src/screen.c (format_device_number): Added. Converts a device number
	into a bounded string.
	* screen.c (string_file_size): Support for larger device numbers
	(and for non-Linux systems).
	* vfs/cpio.c (cpio_read_crc_head): Fixed device number handling for
	non-Linux systems.
	* vfs/fish.c (fish_dir_load): Likewise.
	* vfs/utilvfs.c (vfs_parse_ls_lga): Likewise.
2005-01-27 23:32:13 +00:00
Andrew V. Samoilov
fd5d77fc7b * cpio.c (cpio_create_entry): Added initial support for the Special
Named Files. Needed on QNX Neutrino.
2004-11-03 20:32:35 +00:00
Andrew V. Samoilov
126fa4d83d * cpio.c (cpio_find_head): Check mc_read() return value.
(cpio_read_crc_head): Handle mc_read() return value properly.
        (cpio_read_oldc_head): Use union for "st" and "buf".
        (cpio_read_crc_head): Likewise.
2004-10-06 21:17:30 +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
Roland Illig
60465dace3 * cpio.c (cpio_read_bin_head): Replaced GUINT16_SWAP_LE_BE with
GUINT16_SWAP_LE_BE_CONSTANT, because GCC-3.3 emitted a warning about
	__asm__ __const__.
2004-09-23 14:58:40 +00:00
Andrew V. Samoilov
15c6e5cae6 * direntry.c (vfs_s_readlink): Use g_strlcpy instead strncpy.
* ftpfs.c (ftpfs_get_reply): Use g_strlcpy instead strncpy.
* extfs.c (extfs_readlink): Fix return value. Use g_strlcpy
        instead strncpy.
* mcfs.c (mcfs_readlink): Fix return value. Use g_strlcpy
        instead strncpy.
* tar.c (tar_read_header): Add additional check for consistency.
        Fix memory leak.
* cpio.c (cpio_defer_find): Remove recursion.
        (cpio_free_archive): Fix memory leak.
        (cpio_read_bin_head): Use union for simplicity using of header
        structure. Add additional check for consistency.
        (cpio_read_oldc_head): Add additional check for consistency.
2004-09-02 00:09:02 +00:00
Roland Illig
f608bd21f8 Renamed any variable stat into st. 2004-08-17 11:13:55 +00:00
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
a998d33f7c Made the implicit conversions explicit to prevent "hidden" bugs. 2004-08-16 04:26:46 +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
d2e2f5c544 * cpio.c (cpio_create_entry): Fix possible buffer underflow
and memory leak.
2003-11-12 17:10:48 +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
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 Frdric 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