mc/vfs/ftpfs.h
Norbert Warmuth 293b05aaac Sun May 10 13:21:45 1998 Norbert Warmuth <k3190@fh-sw.de>
* edit/syntax.c: Disable debug messages on stderr.

* edit/edit.h: Added missing _()


Sun May 10 14:51:03 1998  Norbert Warmuth  <k3190@fh-sw.de>

* ftpfs.c (__ftpfs_chdir): CWD command wasn't sent at all. This
optimation is wrong because for directories containing spaces we
have to "CWD <pathname>" and "LIST -la" instead of
"LIST -la <pathname>".
I implemented a different optimation. Now ftpfs_chdir only stores
the new working directory and sets a flag. __ftpfs_chdir is called
when we really want to change the directory on the ftp server.

(resolve_symlink): Log the directory listing to the logfile.

* ftpfs.h (struct ftpfs_connection): Added a (per connection)
cwd_defered flag.


Sun May 10 13:27:50 1998  Norbert Warmuth  <k3190@fh-sw.de>

* widget.c (handle_char): Don't try to to delete default text in
input widget more than once. Right after MC's start copy_filename
(ESC Enter) failed because a flag wasn't cleared while characters
were stuffed into the commandline (Andrej reported this bug).

* main.c (copy_readlink): usr mc_readlink instead of readlink

* file.c: Changed default for the copy/move option "dive into
subdir if exists" to off (note: this was only possible after the
change in setup.c).

(copy_dir_dir): Activated the previously uncommented code which
implements "Dive into subdirs". Even when there's no case where we
actually would like that behaviour it is a documented feature.
Though I don't wanted to change the default behavour. Hence the
option change.

(file_mask_defaults): set dive_into_subdirs

(file_mask_dialog): Fix for debian Bug #20727: Move operation with
"[ ] Dive into subdir if exists" and destination filename not
wildcarded. If destination is an existing directory then files
will be moved into this directory. If destination is not an
existing directory then src file will be renamed (one file
selected) or an error will be displayed (more than one file
selected).

(file_mask_dialog): made the option "Using shell patterns" local
to the current copy/move operation, i.e. this option is always
initialized with the global options's value. Previously it affected
the global Options/Configuration/shell Patterns.
Another possiblilty would be to make the global option a default
option on startup and keep changes in the copy/move dialog
(without saving these changes with save setup).

* setup.c: Don't save and load options which can be changed
outside the options menu. For example I don't like that
preserve_uid_gid and dive_into_subdirs from the copy/move dialog
are saved and restored (strange, what about the other options from
this dialog?).
It would be much cleaner to make these option read-only. This way
one could edit ~/.mc/ini to provide default option setting on
startup and "Save setup" wouldn't have side effects outside the
option's menu.

Sun May 10 13:24:20 1998  Norbert Warmuth  <k3190@fh-sw.de>

* doc/mc.1.in, doc/mc.sgml, mc.hlp: Updated to reflect new default
for dive into subdirs.
1998-05-10 13:41:43 +00:00

77 lines
1.7 KiB
C

/* ftpfs.h */
#if !defined(__FTPFS_H)
#define __FTPFS_H
struct ftpentry
{
char *name;
int count;
char *linkname;
char *local_filename;
int local_is_temp:1;
int freshly_created:1;
int tmp_reget;
struct stat local_stat;
char *remote_filename;
struct stat s;
struct stat *l_stat;
struct ftpfs_connection *bucket;
};
struct ftpfs_dir
{
int count;
struct timeval timestamp;
char *remote_path;
struct linklist *file_list;
};
struct ftpfs_connection {
char *host;
char *user;
char *current_directory;
char *home;
char *updir;
char *password;
int port;
int sock;
struct linklist *dcache;
ino_t __inode_counter;
int lock;
int failed_on_login; /* used to pass the failure reason to upper levels */
int use_proxy; /* use a proxy server */
int result_pending;
int use_source_route;
int use_passive_connection;
int isbinary;
int cwd_defered; /* current_directory was changed but CWD command hasn't
been sent yet */
};
#define qhost(b) (b)->host
#define quser(b) (b)->user
#define qcdir(b) (b)->current_directory
#define qport(b) (b)->port
#define qsock(b) (b)->sock
#define qlock(b) (b)->lock
#define qdcache(b) (b)->dcache
#define qhome(b) (b)->home
#define qupdir(b) (b)->updir
#define qproxy(b) (b)->use_proxy
/* Increased since now we may use C-r to reread the contents */
#define FTPFS_DIRECTORY_TIMEOUT 30 * 60
#define FTPFS_RESOLVE_SYMLINK 1
#define FTPFS_OPEN 2
#define FTPFS_FREE_RESOURCE 4
extern char *ftpfs_anonymous_passwd;
extern char *ftpfs_proxy_host;
extern int ftpfs_directory_timeout;
extern int ftpfs_always_use_proxy;
void ftpfs_init_passwd ();
#endif