Commit Graph

80 Commits

Author SHA1 Message Date
Andrew V. Samoilov
2d966e0364 * vfs.c (mc_return_cwd): Fix comment. Check whatever mc_stat
returns.  Make mc_return_cwd static const char *.
Reorder if statement to eliminate unneeded mc_stat calls.
2002-01-21 11:52:25 +00:00
Andrew V. Samoilov
dd5ccea5d6 * vfs.c (mc_return_cwd): Memory leak fixed. 2001-11-02 18:18:14 +00:00
Pavel Roskin
388a2fe2bf * vfs.c (vfs_parse_filetype): Fix fallback to fifo if sockets
are not supported locally.  Support Solaris doors, also fall
back to fifo.
2001-10-07 09:01:17 +00:00
Pavel Roskin
534e8f432a * vfs.c: Manually expand macros for mc_stat(), mc_lstat() and
mc_fstat() because they don't expand correctly on Solaris 8 with
large file support.
2001-09-17 21:29:51 +00:00
Pavel Roskin
efe396e30e * vfs.c (vfs_parse_ls_lga): Warning fix if st_nlink is unsigned.
Disallow st_nlink = 0.
2001-08-19 16:11:39 +00:00
Pavel Roskin
613dc4d1ca * vfs.c (mc_return_cwd): Use g_get_current_dir(). 2001-07-18 03:44:38 +00:00
Andrew V. Samoilov
442bf424d9 * vfs.c [VFS_STANDALONE]: Undefine WITH_SMBFS, they are mutually
exclusive now.
(is_week): Unmade week static.
(is_month): Unmade month static.
(vfs_parse_ls_lga): Optimize memory usage.
2001-06-15 22:42:50 +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
c6f85d7969 * vfs.c (vfs_canon): s/canonize/canonicalize/. 2001-06-02 06:36:00 +00:00
Pavel Roskin
038099783c * vfs.c (vfs_split_text): Fill `columns' with zeroes before
writing new data into it.
2001-05-22 22:40:44 +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
8a025d6efa * vfs.c (vfs_addstamp): Rename st1 to last_stamp. Initialize it
with NULL to suppress compiler warning.
2001-05-18 19:04:42 +00:00
Andrew V. Samoilov
4ac1c260e9 * vfs.[ch] (vfs_parse_ls_lga, vfs_parse_filemode): p constified
(vfs_strip_suffix_from_filename): filename constified
(vfs_parse_ls_lga): memory leaking fixed when line can't be parsed,
chomping unified
2001-03-05 06:00:27 +00:00
Pavel Machek
7c997958f6 Error handling of ungetlocalcopy was buggy. Fixed. 2001-02-28 21:50:57 +00:00
Pavel Machek
776af93dc8 Do not ignore errors during mc_ungetlocalcopy. 2001-02-27 22:19:04 +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
a18b4a09eb * vfs.c (vfs_parse_filedate): Don't reset got_year to 0 while
checking for ctime() format.
From Peter Daum.
2001-02-15 01:37:43 +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 Machek
eabe77c776 Better /#a filesystem 2000-09-14 20:53:57 +00:00
Pavel Roskin
e828211662 Updated address of Free Software Foundation 2000-08-22 22:50:00 +00:00
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