Commit Graph

72 Commits

Author SHA1 Message Date
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
Norbert Warmuth
2b862fe4f1 Wed Apr 21 21:47:15 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
like the lattern when compiled with -mthreads).

* src/user.c (execute_menu_command): ditto.


Wed Apr 21 22:04:30 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* gtkedit/editcmd.c (edit_save_file): MAD knows about tempnam, no
need to fool it by strdup'ing the return value of tempnam.


Wed Apr 21 21:59:50 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* vfs/extfs.c (extfs_open): tempnam returns a malloced string, no need
to strdup it

(various places): use free instead of g_free to free string returned
by tempnam.
1999-04-22 04:36:11 +00:00
Miguel de Icaza
e67b78b16c 1999-04-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
* extfs.c (get_path_from_entry): Fix a crash here.
1999-04-19 03:33:56 +00:00
Andrew T. Veliath
9e7e543cef src/
* main.c (_do_panel_cd): If we are using GNOME, and the panel is a
	desktop panel, open up a new panel for the contents.

gnome/
	* gdesktop.c (create_panel_from_desktop): Assign selected_index
	when we find the last selected icon.
	(desktop_icon_info_open): Desktop directory open case moved to
	main.c to handle both general and action cd commands.

vfs/
	* extfs.c (extfs_unlink):
	(extfs_mkdir):
	(extfs_rmdir):
	(remove_entry): New functions.
	(vfs_extfs_ops): Add unlink, mkdir and rmdir functions to table.
	Add descriptions for these to the extfs README.
1999-04-13 02:05:15 +00:00
Miguel de Icaza
b3bb157ad5 These are a bunch of changes to fix CORBA and session management. They
are almost complete (i.e. to handle all nitty gritty cases), but they
seem to be working OK right now.  SM should be much more stable now.
Please tell me if you find any weird behavior - Federico

1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdesktop-icon.c (desktop_icon_realize): Remove the
	WM_CLIENT_LEADER property from icon windows so that window
	managers will not store SM information for them.

	* gnome-open-dialog.c: Added missing #includes.

	* gdesktop-init.c (desktop_init_at): Removed an unused variable.

	* gdesktop.h: Added some missing prototypes.

	* gmain.h: Added some missing prototypes.

	* Makefile.in: Added gsession.[ch] to the list of sources.

	* gmain.c (create_panels): Consider whether we have a CORBA server
	and session management.

	* gdesktop.c: #include "gdesktop-init.h"
	* gdesktop.c: Added a missing cast to GNOME_DIALOG.

	* gmain.c (create_panels): Removed the run_desktop global
	variable.

	* glayout.c (create_container): Set the wmclass of the panel to
	include its unique ID.

	* gsession.[ch]: New file with the functions that deal with
	session management.

	* glayout.c (gnome_exit): Use session_set_restart().

	* gcorba.c (corba_init): Now returns an int with an error value.
	(corba_init_server): Initialize the server properly.
	Fixed all the object implementation code.
	(corba_create_window): New function used to create a window with
	the CORBA server.

	* gmain.c (gnome_check_super_user): Now the check for running as
	root is done here.  There should be no GUI code in src/.

1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* dlg.c (dlg_run_done): Do not call the callback of a NULL current
	widget.

	* setup.h: Added missing prototype for setup_init().

	* filegui.c (check_progress_buttons): Added a missing return
	value.

	* dlg.c (remove_widget): Added a missing return value.

	* main.c: Removed the global directory_list variable.
	Removed the main_corba_register_server() function.

	* main.h: Removed the global run_desktop variable.

	* panel.h: Now the panel structure has a unique numerical ID used
	for session management.

	* screen.c (panel_new): Maintain a unique ID for each panel.

	* main.c (maybe_display_linksdir): Handle display of the desktop
	init dir here.
	(main): Call gnome_check_super_user().
	(init_corba_with_args): Call corba_init_server().

	* main.c (init_corba_with_args): Do CORBA initialization here.  Also
	removed the global force_activation option.

1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* vfs.c (vfs_add_current_stamps): Only do stamping of the panels
	if they exist.

	* mcserv.c: #include <sys/wait.h>
	(get_client): Put `#ifdef __EMX__' around an otherwise-unused
	variable.

	* utilvfs.c (vfs_split_url): Fix NULL <-> 0 confusion when
	comparing characters.

	* ftpfs.c (retrieve_dir): Removed unused variable dot_dot_found.

	* extfs.c (extfs_init): Assign `key' to c, not `&key'.
1999-03-30 06:09:56 +00:00
Miguel de Icaza
ff1a8f6a3b Ok, I am finally back.
Basically, I had to setup an ssh tunnel to be able to use CVS.  After
5 hours trying to get the damn thing to cvs update it was clear to me
why the .es people do not like to use the gnome cvs.

We really need a tunnel for .es hackers (as they have excellent connectivity
to the rest of Europe, they are just routed trough a 2 byte link to the US).

1999-03-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* treestore.c (process_special_dirs): Free memory here.

	Fix test: Skip only "." and "..", before it could skip "?.".

1999-03-22  David Martin <dmartina@mailexcite.com>

	* wtools.c (real_input_dialog_help): Do a strncmp with the lenght
	of th same translated "Password:" string.

1999-03-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* glayout.c (create_new_menu_from): closedir after running.

1999-03-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gnome-file-property-dialog.c (apply_metadata_change): Fix the
	test for setting the icon.  It was being done incorrectly and thus
	it was never possible to change the icon.

	* glayout.c (gnome_launch_mime_editor): Add mime-type-edit command
	to the menu: this launches mime-type-capplet

1999-03-22  David Martin <dmartina@mailexcite.com>

	* ftpfs.c: Internationalize the messages that are displayed as
	hints.

1999-03-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* extfs.c (extfs_init): Fix the code here:  If the key is empty or
	only contains a new line, C would be pointing into an invalid location.
1999-03-24 12:16:52 +00:00
Timur Bakeyev
e57da1f7b3 Glibing....
Wed Jan 27 03:09:48 1999  Timur I. Bakeyev <mc@bat.ru>

	* All around the source: Changed copy_strings() to g_strconcat(). Modi-
	fy last parameter in concat_dir_and_file() to "" - to prevent stack from
	disbalancing.
1999-01-27 00:49:11 +00:00
Timur Bakeyev
bf81009392 Actually commit all my changers. Fear :> 1999-01-20 22:01:11 +00:00