Commit Graph

79 Commits

Author SHA1 Message Date
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
Pavel Roskin a5576742c3 * extfs.c (open_archive): Use open_error_pipe before popen() and
close_error_pipe() if popen() fails to handle stderr.
(read_archive): Use close_error_pipe() after pclose().
2002-12-05 17:05:27 +00:00
Andrew V. Samoilov 7b75eaf984 * extfs.c (open_archive): Don't use open_error_pipe() and
close_error_pipe() - it gets stuck on output that exceeds 4
kilobytes.
2002-12-03 12:24:37 +00:00
Pavel Roskin 474ff43316 * extfs.c (open_archive): Use open_error_pipe() and close_error_pipe()
to prevent stderr from extfs scripts pollute the screen.
(extfs_cmd): New function to run extfs scripts and handle stderr in one
place.
(extfs_open): Use extfs_cmd().
(extfs_close): Likewise.
(extfs_unlink): Likewise.
(extfs_mkdir): Likewise.
(extfs_rmdir): Likewise.
2002-12-01 20:35:15 +00:00
Pavel Roskin 316993bf83 Remove dead code. 2002-11-03 09:27:08 +00:00
Pavel Roskin da7e82d253 Global removal of RCS Id: flags. 2002-09-26 23:13:45 +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 35aa47461b * sfs.c: Don't use flag EXECUTE_SETUID because it's being
removed as insecure and EXECUTE_WAIT because it has no effect.
* extfs.c: Likewise.
2002-08-19 23:20:03 +00:00
Pavel Roskin cf8ab0de99 * extfs.c (s_readdir): Simplify.
* direntry.c (vfs_s_readdir): Use vfs_dirent.
* mcfs.c (mcfs_readdir): Likewise.
* smbfs.c (smbfs_readdir): Likewise.
* undelfs.c (undelfs_readdir): Use vfs_dirent and
compute_namelen().
2002-08-15 21:15:17 +00:00
Pavel Roskin 37f335b8c0 * vfs.h: Introduce union vfs_dirent to ensure that we have
enough space for the filename.
* extfs.c (s_readdir): Use vfs_dirent.  Avoid strcpy().
2002-08-15 20:29:34 +00:00
Pavel Roskin 8b8d7de7ca * direntry.c (vfs_s_readdir): Use compute_namelen().
* extfs.c (s_readdir): Likewise.
* mcfs.c (mcfs_readdir): Likewise.
* smbfs.c (smbfs_readdir): Likewise.
2002-08-15 19:38:17 +00:00
Pavel Roskin 6f3a7c8029 * direntry.c (vfs_s_open): Don't pass O_LINEAR to open() -
this flag is for VFS only, and causes side effects in Cygwin.
* extfs.c (extfs_open): Likewise.
* sfs.c (sfs_open): Likewise.
Reported by Pavel Tsekov <ptsekov@gmx.net>
2002-07-10 17:56:27 +00:00
Pavel Roskin 6ecbdd05ab * extfs.c (extfs_fill_names): Generate filename#vfsname/dir
instead of #vfsname/filename/dir.  Use PATH_SEP_STR.
2002-07-03 15:54:01 +00:00
Pavel Roskin 4408c4e091 * extfs.c (extfs_open): Only create a new entry if it has not
been found and O_CREAT is set.  Consider file as changed only
if it has been successfully created.
(extfs_getlocalcopy): Open file only for reading.  This prevents
marking file as changed.  Actually use the has_changed argument.
Reported by Nerijus Baliunas <nerijus@users.sourceforge.net>
2002-02-19 21:32:24 +00:00
Pavel Roskin e6a07c778a * extfs.c (extfs_init): Internationalize error message, it's
already in sfs.c.
2001-08-16 20:43:47 +00:00
Pavel Roskin 4b54385dc6 * extfs.h: Move private structures ...
* extfs.c: ... here.
2001-08-07 23:54:35 +00:00
Pavel Roskin 5c7d2296ca * extfs.h (struct entry): Remove unused `has_changed' field.
It's only written but never read.
(struct inode): Likewise.
* extfs.c: All dependencies changed.
(extfs_open): Mark file as changed if it's open for writing.
2001-08-07 22:47:02 +00:00
Pavel Roskin a1532469cd * extfs.c (extfs_init) [GTK]: Use mc_home instead of LIBDIR.
From Ludovic Drolez <ludovic.drolez@freealter.com>.
2001-07-20 14:50:30 +00:00
Pavel Roskin c100281180 * extfs.c: Include contents of shared_tar_ext.c - it's no
longer shared.
* shared_tar_ext.c: Remove.
* Make-mc.in (VFSSRCS): Remove shared_tar_ext.c.
2001-07-10 14:19:11 +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 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 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 cde914f99a * extfs.c: Include xdirentry.h. Undefine ERRNOR before
redefining it.
2001-02-20 16:24:49 +00:00
Pavel Machek 55e56a1426 Fixes from Roland: we may not g_free() strdup-ed text. 2000-10-31 15:43:49 +00:00
Pavel Roskin e828211662 Updated address of Free Software Foundation 2000-08-22 22:50:00 +00:00
Pavel Machek b028dbad2e Small cleanup in extfs.c 2000-01-13 15:15:42 +00:00
Pavel Machek 0de889ce6f Applied changes by "Andrew V. Samoilov" <sav@bcs.zp.ua>
Fixed files with names like "1900" (or broken them other way), minor
coding style fixes.
2000-01-05 14:13:57 +00:00
Pavel Machek 1139602a9b Return value is needed for mc_[un]getlocalcopy. 1999-11-11 14:23:40 +00:00