(vfs_s_data.file_store): Change second argument
to (vfs_s_fh *fh).
* direntry.c (vfs_s_close): Adjust.
* fish.c (file_store): Likewise.
* ftpfs.c (file_store): Likewise. Use "APPE" if
fh->u.ftp.append is true.
(linear_start): Care about fh->u.ftp.append.
(ftpfs_fh_open): Likewise.
warnings in gcc.
(file_store): Cast all expressions with file sizes to unsigned
long. This should fix uploading when large file support is on.
File size is limited to 4096 * ULONG_MAX for now.
* direntry.c: Likewise.
* fish.c: Likewise.
* ftpfs.c: Likewise.
* local.c: Likewise.
* tar.c: Likewise.
* utilvfs.h: Don't include <config.h> - it should be included
in all C files instead.
* xdirentry.h: Likewise.
later fails under non-login shells.
(pipeopen): Redirect stderr of ssh to /dev/null.
From Rich Roth:
(dir_load): Redirect stderr of ls to /dev/null.
(linear_start): Likewise.
* utilfs.c (vfs_split_url): don't assign *pass if pass is NULL
* fish.c (archive_open, archive_same): memory allocated by
vfs_split_url () must be released after use, don't strdup()
values allocated by vfs_split_url () and NULL passed to
vfs_split_url () when password value is unused
* ftpfs.c (archive_open, archive_same): ditto plus same for
ftpfs_get_proxy_host_and_port ()
* 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;
Patch by Andrew V. Samoilov <sav@bcs.zp.ua>
* vfs.[ch] (vfs_canon, mc_open, vfs_file_is_local,
mc_(un)?getlocalcopy): added const qualifier
(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/ftpfs.c: Definition of PORT changed in the middle of ftpfs.c
with unexpected side effects (only when HSC_PROXY was
defined). Introduce HSC_PROXY_PORT and FTP_COMMAND_PORT and use
where appropriate.
(dir_load): Do not hard code the directory cache timeout to 10
seconds. Instead use the setting from Options/Virtual VFS ...
* vfs/fish.c (file_store): honour changed semantics for return value
(on error -1 is expected).
* vfs/ftpfs.c (file_store): dito
* gtkedit/editcmd.c (edit_replace_prompt): fix incorrect
initialization of array of structure (gcc version 2.96 20000131
chokes on it).
* lib/mc.hint: C-y and not C-u can be used to insert text in input
lines (e. g. text which has been deleted with M-d).
* configure.in: Fix the extfs-configure-fragment-in-final-output bug
* src/main.c (parse_control_file): add missing right parentheses
* src/boxes.c: fix incorrect initialization of array of structure (gcc
version 2.96 20000131 chokes on it).
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.
- 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
* fish.c (FISH_OP): changed snprintf to g_snprintf, as glib is
used anyway.
* xdirentry.h (LINK_NO_FOLLOW):
* tar.c (read_header):
* direntry.c (vfs_s_resolve_symlink):
(vfs_s_inode_from_path):
(vfs_s_open): renamed NO_FOLLOW and FOLLOW to LINK_NO_FOLLOW and
LINK_FOLLOW resp. to avoid problems on solaris, where FOLLOW and
NO_FOLLOW are defined in an enum.
* vfs.h (ELAST): define it to 300, if not already defined, thats a
bad hack, but what can we do....
Documentation update.
1998-10-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
* fish.c (command): Replace vnsprintf with g_strdup_vprintf. This
is both safe and more correct, as there is no limit on the
pathname.
* ftpfs.c (command): Same as above.
* util-alone.c (print_vfs_message): Same as above.
1998-10-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
* layout.c (print_vfs_message): Use g_snprintf instead of
vnsprintf.
* setup.c: save and restore new global variable/option
ftp_use_unix_list_options
Tue Sep 15 20:31:32 1998 Norbert Warmuth <k3190@fh-sw.de>
* ftpfs.c (ftp_use_unix_list_options): New global variable/option.
If true we try to use 'LIST -la <path>'. When it fails we use the
two commands 'CWD <path>' and 'LIST' instead.
(resolve_symlink): rewritten. Don't get a second directory listing
with `LIST -lLa'. Instead use the cache to get the file stat of
symbolic links. If the directory the symlink points to isn't
already in the cache the directory listing will be fetched and
stored in the directory cache (without resolving symlinks
recursively).
The new method to resolve symlinks is faster if symlinks
the same directory or the directory the symlink points to
is already in the cache.
This function was small and nice until I discovered that it was
broken for symlinks to symlinks. Now it looks ugly and perhaps I
will revert it to use "LIST -lLa" again. With a fast connection it
doesn't matter which methode we use but with a slow connection I
wouldn't hesitate to burn more cpu cycles on the client side.
(retrieve_dir): Added parameter to tell whether to resolve
symlinks (don't resolve symlinks in directory listings retrieved
while resolving symlinks).
When we don't get a directory listing with 'LIST -la <path>' then
try to get it with `CWD <path>; LIST'.
Tue Sep 15 20:27:29 1998 Norbert Warmuth <k3190@fh-sw.de
* ftpfs.c (login_server): s/ftpfs_get_host/my_get_host/
(retrieve_file_start2): Don't create target file O_EXCL, in
copy_file_file we check existance of the target file and know
that we want to truncate it (this change was already done a
while back but it was reverted with the vfs-split).
Tue Sep 15 20:15:42 1998 Norbert Warmuth <k3190@fh-sw.de>
* ftpfs.h (struct connection): added boolean which indicates that
the ftp server doesn't unterstand Unix ls options
* ftpfs.h (struct dir): added enum to store symlink status of the
in memory directory cache (directory has no symbolic links;
symbolic links but not yet resolved; symbolic links which are resolved)
Tue Sep 15 20:02:08 1998 Norbert Warmuth <k3190@fh-sw.de>
* shared_ftp_fish.c, fish.c: updated references to retrieve_dir to
honour the additional boolean parameter