Commit Graph

60 Commits

Author SHA1 Message Date
Pavel Machek
b1185ecc73 * vfs.c (mc_[un]def_getlocalcopy): better error handling on writing
--------------------------------------------------------------
2000-05-25 14:47:48 +00:00
Pavel Machek
c319041ba8 2000-05-15 Andrew V. Samoilov <sav@bcs.zp.ua>
* tar.c (read_header): memory leaking for empty symlink's names fixed

	* utilvfs.c (vfs_split_url): *host is not assigned if host is null

	* ftpfs.c (login_server): new features of vfs_split_url () used,
	  my_get_host_and_username became macro

	* vfs.c (mc_opendir, mc_chdir): unneeded calls to concat_dir_and_file
	  removed (vfs_canon removes trailing '/')

	* sfs.c (vfmake, redirect): allocated memory realeased on errors
2000-05-16 14:59:33 +00:00
Pavel Machek
8542ae3328 Fixed problems with stating / of ftp archive; minor bugfix. 2000-05-03 19:10:52 +00:00
Pavel Machek
a1225de8b3 Fix problems with stating / of ftp server + NO_LOCALHASH to prevent
podfuk deadlocs
2000-04-16 19:13:00 +00:00
Timur Bakeyev
ec83d4571e 2000-04-15 Timur Bakeyev <mc@bat.ru>
* ftpfs.c (netrc_next): "const char * keywords" is pretty nice.

	* ftpfs.c (dir_load): At last, found place, that broke handling
	directories with spaces in name. Problem was in prepending "/"
	to "." for current directory. Which was, obviously, wrong. Hacked
	to make just "LIST -la ." instead.

	* vfs.c: Changed to BUF_* constants in some places.
2000-04-14 01:14:26 +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
24ccfadb27 2000-03-06 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
Patch by  Andrew V. Samoilov <sav@bcs.zp.ua>

        * vfs.c (vfs_parse_ls_lga): don't hard code st_ino and st_dev to 0's,
          these variables must be assigned in vfs_s_new_inode () or extfs
          layer, so ftpfs subdirectories now can be copied.
2000-03-06 16:31:37 +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
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
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
748e4c38f9 1999-12-15 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
* Merged changes by Andrew V. Samoilov <sav@bcs.zp.ua>. They are
	mostly internationalization + fixing stupid bugs of mine
1999-12-16 12:55:16 +00:00
Pavel Machek
1139602a9b Return value is needed for mc_[un]getlocalcopy. 1999-11-11 14:23:40 +00:00
Norbert Warmuth
6fae3e0425 1999-08-15 David Martin <dmartina@usa.net>
* gtkedit/edit.c: Print localized date with strftime()

* src/boxes.c: (symlink_dialog): Move dialog misaligned elements

* vfs/vfs.c (vfs_print_stats): Translate vfs stats

* vfs/shared_ftp_fish.c (s_read, s_lseek): Mark strings for translation

* vfs/fish.c: Translate messages

* src/boxes.c: (symlink_dialog): Move dialog misaligned elements

* src/cmd.c (get_random_hint): Look for localized hint files

* lib/mc.hint.es: NEW FILE. Hints in Spanish flavour.


1999-08-15  Norbert Warmuth  <nwarmuth@privat.circular.de>

* src/cmd.c (guess_message_value): New function. Determine locale used
for messages

(get_random_hint): use guess_message_value

* lib/Makefile.in: added mc.hint.es to LIBFILES_CONST
1999-08-16 05:31:23 +00:00
Norbert Warmuth
fc05bf2408 1999-08-01 David Martin <dmartina@usa.net>
* gnome/gcmd.c (gnome_about_cmd): Change strings in gmc "about" to
static as they only translated once.

* src/menu.c (create_menu, menubar_drop_compute, menubar_paint_idx):
Discount '&' for hotkeys when checking menu widths to avoid the
extra blank space.
Moved this accounting from the drawing to the creating function.

* src/widget.c: Translate History box tittle.

* po/es.po, po/es_ES.po: added translation for history box title



1999-08-01  Norbert Warmuth  <nwarmuth@privat.circular.de>

* src/vfs.c: Don't close a function definition with "};". SunCC from
2.5.1 chokes on the extra semicolon.

(mc_munmap): Don't dereference function pointer when checking for
NULL (this check is supposed to prevent a segfault instead of
causing one). This haven't got noticed up to now becaue there's no
file system with mmap but without munmap.
1999-08-01 11:37:25 +00:00
Miguel de Icaza
9f81821878 1999-06-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* acconfig.h: Add WITH_SMBFS

	* macros/gnome-vfs.m4: Support conditional samba support.

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

	* gsession.c (create_default_panel): Use directory specified in
	command line.

	* gcorba.c (corba_create_window): Pass the directory we receive or
	cwd if this value is NULL.

	* gmain.c (non_corba_create_panels): Use parameter for startup
	directory (use the this_dir external directory for this).
	(create_panels): Pass this_dsir to non_corba_create_panels and
	corba_create_window.
1999-06-22 21:02:08 +00:00
Miguel de Icaza
2a8730b21c 1999-06-01 Robert Brady <rwb197@ecs.soton.ac.uk>
* file.c (move_dir_dir): Give an error when an attempt is made to
	move an empty directory into itself.

1999-06-14  Wayne Roberts <wroberts1@cx983858-b.orng1.occa.home.com>

	* vfs/smbfs.c: New file.  Implements the Samba-based file system.

	* vfs/vfs.h: Declare vfs_smbfs_ops, vfs_file_is_smb.

	* vfs/vfs.c (vfs_file_is_smb): implemented.
	(vfs_init) register smbfs.

	* vfs/samba: Incorporate SAMBA source code required for smbfs

1999-05-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* Make.common.in (confdir): Define confdir as sysconfdir.  This
	should fix the problem we had with FSSTND distributions.
1999-06-22 19:56:36 +00:00
Miguel de Icaza
447cdfdd37 Double patch removed 1999-04-25 20:00:05 +00:00
Miguel de Icaza
449bee9014 1999-04-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
* extfs/uzip.in (nam): Handle new unzips.
1999-04-25 19:34:47 +00:00
Pavel Machek
58dbdc168e It is _never_ good idea to ignore errors. People than expect
everything is going ok.

Ok, I've now limited number of "could not parse" error messages to 5
per session. Lower this limit if it makes you crazy, but DO NOT REMOVE
those messages.
1999-04-23 11:32:53 +00:00
Pavel Machek
bd8f6266b7 Fix for solaris using 'l' instead of 'S'. 1999-04-23 10:38:13 +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
8cb5ff2882 New mc.spec from Paul E. Johnson 1999-03-12 22:11:07 +00:00
Miguel de Icaza
112a82e7ee 1999-03-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
* vfs.c (parse_ls_lga): kill the messages on each error.
1999-03-09 07:35:12 +00:00
Miguel de Icaza
7ca0948527 OS/2 portability changes by Ilya 1999-02-13 21:39:18 +00:00
Norbert Warmuth
f75a6470ca Rerun configure when you have problems with missing slang.h.
Sun Jan 31 20:04:13 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* vfs/vfs.c (vfs_strip_suffix_from_filename): Whoever replaces every
occurance of 0 with NULL should stop this stupidy. And replacing '\0'
with NULL is plain wrong!!. Reverted this replacement.

* vfs/ftpfs.c (load_no_proxy_list): ditto


Fri Jan 29 22:55:56 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* slang/slang.h: renamed to slang-mc.h

* slang/Makefile.in: delete slang.h on "make clean"

* configure.in: link slang/slang-mc.h to slang/slang.h when the
included slang is used. Problem was that MC's slang.h was used
when we compiled with an already installed SLang and the systems
header file were included with <slang/slang.h>.
Unfortunatly I can't use AC_LINK_FILES to make the links because
if we needn't make any links AC_LINK_FILES makes a link from
srcdir to top_builddir (builddir != srcdir).

Temporary add $LGPM to $LIBS when checking for the resizeterm
and keyok functions (ncurses might be linked against GPM).

Substitude PACKAGE (intl/Makefile makes use of it)


Sun Jan 31 19:42:47 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* gnome/Makefile.in (install_mx): make it work with srcdir != builddir
(gmc.gnorba is located in $srcdir)

* src/hotlist.c (add_new_entry_input, add_new_group_input): Make the
quick_widget arrays static and various changes needed because they
are now static. add_widgets_i18n recalculates button positions
which get lost when the quick_widget arrays are non static.

* src/screen.c (to_buffer): nul terminate string when using strncpy

* src/setup.c: Save and restore new option ftpfs_first_cd_then_ls.


Sun Jan 31 19:57:24 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* vfs/ftpfs.c (insert_dot): New function. Insert a "." into the linked
list. Stat'ing the root directory of a ftpfs fails if the dot is
missing.

(retrieve_dir): insert "." into the linked list if the ftp server
haven't send it.

Sun Jan 31 19:50:24 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* The following changes make ftpfs work with a remote AmiTCP
server are the result of somehow longish EMail debugging session. I
don't know any public server of this kind but I was told the
combination Unix/Amiga boxes are often used in intranets.

* vfs/ftpfs.c (translate_path): New function. Translate a Unix path,
i.e. MC's internal path representation (e.g. /somedir/somefile) to
a path valid for the remote server. Every path transfered to the
remote server has to be mangled by this function right prior to
sending it. Currently only Amiga ftp servers are handled in a
special manner.

* vfs/ftpfs.c (various places): use translate_path

* vfs/ftpfs.c (login_server): Assume we have to mangle pathnames if
the greatings string from the server contains the word Amiga. If
this assumption is wrong I have to find another way to turn on
path translation.

* vfs/ftpfs.c (ftpfs_get_current_directory): Prepend a leading slash
if it is missing. MC needs it as seperator between hostname and
path in its internal url representation.
1999-01-31 20:28:13 +00:00
Pavel Machek
f2197f6bc2 This _could_ repair ftp parsing against nowell 4 servers. Test it if you can. 1999-01-28 17:28:11 +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
Miguel de Icaza
70d31806e1 Memory leak fix.
Double-free fixed.
Tree will do proper thing when dealing with symlinks

Miguel.
1999-01-15 19:02:39 +00:00
Miguel de Icaza
fbb3d4d90f VFS does not assert on small buffers in getwd, it now truncates.
Drops on the desktop are now always links.  If you want copy or move,
then use middle button to get the ask dialog box.

Miguel.
1999-01-12 23:49:37 +00:00
Miguel de Icaza
85f17a4dc6 Lots of changes:
- SFS-based file systems now work on GNOME edition, I was
	  not waiting for child process to finish decompressing.

	- VFS code cleanup.  I am going to eventually get rid of all
	  the macro-mania that has creeped into the vfs layer.

Miguel
1999-01-11 00:48:23 +00:00
Norbert Warmuth
749d16ba30 Sat Jan 9 19:15:00 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/vfs.c (vfs_timeout_handler): Guard from recursive invocation.

Sat Jan  9 19:13:28 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* vfs/sfs.c (sfs_free): Fixed wrong linked list handling (head was
lost after the first iteration).

(sfs_getid): dito, return value was wrong.
1999-01-09 23:08:41 +00:00
Timur Bakeyev
23155b3f8b Rewrite parse_ls_lga() function. It became more stright and robust. 1999-01-09 19:55:31 +00:00
Norbert Warmuth
4b2f456f69 Fri Jan 8 20:03:36 1999 Andrej Borsenkow <borsenkow.msk@sni.de>
* vfs.c (vfs_parse_filedate): I forgot to set got_year in one place
(where YY-MM-DD is parsed).
1999-01-08 18:59:51 +00:00
Norbert Warmuth
d6a8e538fc Thu Jan 7 06:24:25 1999 Andrej Borsenkow <borsenkow.msk@sni.de>
* vfs/vfs.c (vfs_parse_filedate): If the date is less than 6 months
in the past, it is shown without year. In this case MC assumed
the current year which is wrong from Jan to Jun.
1999-01-07 05:54:16 +00:00
Timur Bakeyev
53d59fab98 Just a fix of Y2K typo, pointed by Alex. 1999-01-07 00:55:20 +00:00
Norbert Warmuth
549fecfff7 Wed Dec 16 06:47:47 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* screen.c (Xtry_to_select): Don't select a similar file when
"name" can't be found in the panel (when deleting files the
selection jumpped from the deleted "file" to a directory which
started with the same character as "file", annoying).
Strip known vfs suffixes from "name" before trying to select
(I think Timur made this suggestion a few months ago). Know the
vfs is mature enough to do this.

* vfs/vfs.c (vfs_strip_suffix_from_filename): New function which strips
known vfs suffixes from a filename and returns a malloced string
which has to be freed. Possible improvement: strip vfs suffix from
last path component.

* vfs/extfs/*: added "umask 077" to every script.
1998-12-16 06:16:13 +00:00
Pavel Machek
3e1a72d64d Some fixes in src/ part (want_stale_data is now done right) and more
daring code in vfs/ (errors are now reported instead of silently
ignored)
1998-12-09 20:22:53 +00:00
Norbert Warmuth
414c7569f2 Tue 24 Nov 12:43:20 1998 Peter Kleiweg <kleiweg@let.rug.nl>
* vfs/vfs.c (vfs_parse_ls_lga): ignore trailing + in permission string
which indicate a file with extented attributes (ACL)


Wed Nov 25 22:16:19 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

* src/cmd.c (dirsizes_cmd): Quote characters with a special meaning
when passing it to du.
1998-11-25 23:34:00 +00:00
Pavel Machek
4029fef2f3 Small bugfixes, killing of debuging hacks that escaped me. 1998-11-22 16:17:42 +00:00
Pavel Machek
4706638b22 Big merge: fish now uses proper caching, small fixes almost
everywhere. I hope I did not break it too much.
1998-11-21 19:36:01 +00:00
Pavel Machek
e59271dfb8 Better error handling in parse_ls_lga 1998-11-16 15:52:27 +00:00
Pavel Machek
37e364fe67 BIG changes: tar now uses brand-new direntry.c. Hope it does not hurt
too much.
1998-10-23 08:26:25 +00:00
Pavel Machek
dd9ceddfc2 O_EXCL added to prevent symlink attack in vfs.c (ChangeLog commited earlier) 1998-10-16 15:30:51 +00:00
Miguel de Icaza
d6fcd9c2b7 VFS source code cleanup.
MC now depends on glib (currently only the assertions are used).
VFS structure declaration fixes.
Uses the new icon list (it is dog slow, need to fix this tonight at home).
1998-10-14 02:56:18 +00:00
Pavel Machek
f699107608 Minor fix 1998-10-13 16:45:00 +00:00
Pavel Machek
176dc1f70d static's added, do_reget hack removed 1998-10-12 22:07:53 +00:00
Pavel Machek
b99161ec69 Add path_magic to work properly with #ftp:asdf files created by
malicious user
1998-10-05 18:32:53 +00:00
Pavel Machek
a92e6f3ea8 Changed license to LGPL, added passing of vfs * (acting as self), so
we can do OOP-like trics.
1998-09-27 19:27:58 +00:00
Pavel Machek
a57c127f2d O_LINEAR option added, tar fixed to handle bzip/bzip2 files correctly. 1998-09-21 09:52:07 +00:00