Made the path argument to vfs->{chmod,chown,utime} constant.

This commit is contained in:
Roland Illig 2004-08-16 21:36:39 +00:00
parent dc70d154db
commit e0bf99d516
8 changed files with 31 additions and 28 deletions

View File

@ -991,7 +991,7 @@ extfs_readlink (struct vfs_class *me, char *path, char *buf, int size)
return i;
}
static int extfs_chmod (struct vfs_class *me, char *path, int mode)
static int extfs_chmod (struct vfs_class *me, const char *path, int mode)
{
return 0;
}

View File

@ -691,18 +691,19 @@ fish_send_command(struct vfs_class *me, struct vfs_s_super *super, char *cmd, in
#define PREFIX \
char buf[BUF_LARGE]; \
char *rpath; \
char *rpath, *mpath; \
struct vfs_s_super *super; \
if (!(rpath = vfs_s_get_path_mangle(me, path, &super, 0))) \
if (!(rpath = vfs_s_get_path_mangle(me, mpath = g_strdup(path), &super, 0))) \
return -1; \
rpath = name_quote (rpath, 0);
#define POSTFIX(flags) \
g_free (rpath); \
g_free (mpath); \
return fish_send_command(me, super, buf, flags);
static int
fish_chmod (struct vfs_class *me, char *path, int mode)
fish_chmod (struct vfs_class *me, const char *path, int mode)
{
PREFIX
g_snprintf(buf, sizeof(buf), "#CHMOD %4.4o /%s\n"
@ -753,7 +754,7 @@ static int fish_symlink (struct vfs_class *me, char *setto, char *path)
}
static int
fish_chown (struct vfs_class *me, char *path, int owner, int group)
fish_chown (struct vfs_class *me, const char *path, int owner, int group)
{
char *sowner, *sgroup;
struct passwd *pw;

View File

@ -1441,17 +1441,18 @@ static int ftpfs_ctl (void *fh, int ctlop, void *arg)
}
}
/* Warning: filename passed to this command is damaged */
static int
ftpfs_send_command(struct vfs_class *me, char *filename, char *cmd, int flags)
ftpfs_send_command(struct vfs_class *me, const char *filename, const char *cmd, int flags)
{
char *rpath, *p;
char *rpath, *p, *mpath = g_strdup(filename);
struct vfs_s_super *super;
int r;
int flush_directory_cache = (flags & OPT_FLUSH);
if (!(rpath = vfs_s_get_path_mangle(me, filename, &super, 0)))
if (!(rpath = vfs_s_get_path_mangle(me, mpath, &super, 0))) {
g_free(mpath);
return -1;
}
p = ftpfs_translate_path (me, super, rpath);
r = ftpfs_command (me, super, WAIT_REPLY, cmd, p);
g_free (p);
@ -1462,6 +1463,7 @@ ftpfs_send_command(struct vfs_class *me, char *filename, char *cmd, int flags)
ERRNOR (EPERM, -1);
if (flush_directory_cache)
vfs_s_invalidate(me, super);
g_free(mpath);
return 0;
}
@ -1484,7 +1486,7 @@ ftpfs_init_passwd(void)
ftpfs_anonymous_passwd = g_strdup ("anonymous@");
}
static int ftpfs_chmod (struct vfs_class *me, char *path, int mode)
static int ftpfs_chmod (struct vfs_class *me, const char *path, int mode)
{
char buf[BUF_SMALL];
@ -1492,7 +1494,7 @@ static int ftpfs_chmod (struct vfs_class *me, char *path, int mode)
return ftpfs_send_command(me, path, buf, OPT_FLUSH);
}
static int ftpfs_chown (struct vfs_class *me, char *path, int owner, int group)
static int ftpfs_chown (struct vfs_class *me, const char *path, int owner, int group)
{
#if 0
ftpfs_errno = EPERM;

View File

@ -129,19 +129,19 @@ local_fstat (void *data, struct stat *buf)
}
static int
local_chmod (struct vfs_class *me, char *path, int mode)
local_chmod (struct vfs_class *me, const char *path, int mode)
{
return chmod (path, mode);
}
static int
local_chown (struct vfs_class *me, char *path, int owner, int group)
local_chown (struct vfs_class *me, const char *path, int owner, int group)
{
return chown (path, owner, group);
}
static int
local_utime (struct vfs_class *me, char *path, struct utimbuf *times)
local_utime (struct vfs_class *me, const char *path, struct utimbuf *times)
{
return utime (path, times);
}

View File

@ -459,7 +459,7 @@ mcfs_rpc_path (int command, char *path)
}
static int
mcfs_rpc_path_int (int command, char *path, int data)
mcfs_rpc_path_int (int command, const char *path, int data)
{
mcfs_connection *mc;
char *remote_file;
@ -476,7 +476,7 @@ mcfs_rpc_path_int (int command, char *path, int data)
}
static int
mcfs_rpc_path_int_int (int command, char *path, int n1, int n2)
mcfs_rpc_path_int_int (int command, const char *path, int n1, int n2)
{
mcfs_connection *mc;
char *remote_file;
@ -919,19 +919,19 @@ mcfs_fstat (void *data, struct stat *buf)
}
static int
mcfs_chmod (struct vfs_class *me, char *path, int mode)
mcfs_chmod (struct vfs_class *me, const char *path, int mode)
{
return mcfs_rpc_path_int (MC_CHMOD, path, mode);
}
static int
mcfs_chown (struct vfs_class *me, char *path, int owner, int group)
mcfs_chown (struct vfs_class *me, const char *path, int owner, int group)
{
return mcfs_rpc_path_int_int (MC_CHOWN, path, owner, group);
}
static int
mcfs_utime (struct vfs_class *me, char *path, struct utimbuf *times)
mcfs_utime (struct vfs_class *me, const char *path, struct utimbuf *times)
{
mcfs_connection *mc;
int status;

View File

@ -216,19 +216,19 @@ static int sfs_lstat (struct vfs_class *me, const char *path, struct stat *buf)
#endif
}
static int sfs_chmod (struct vfs_class *me, char *path, int mode)
static int sfs_chmod (struct vfs_class *me, const char *path, int mode)
{
path = sfs_redirect (me, path);
return chmod (path, mode);
}
static int sfs_chown (struct vfs_class *me, char *path, int owner, int group)
static int sfs_chown (struct vfs_class *me, const char *path, int owner, int group)
{
path = sfs_redirect (me, path);
return chown (path, owner, group);
}
static int sfs_utime (struct vfs_class *me, char *path, struct utimbuf *times)
static int sfs_utime (struct vfs_class *me, const char *path, struct utimbuf *times)
{
path = sfs_redirect (me, path);
return utime (path, times);

View File

@ -824,7 +824,7 @@ smbfs_closedir (void *info)
}
static int
smbfs_chmod (struct vfs_class *me, char *path, int mode)
smbfs_chmod (struct vfs_class *me, const char *path, int mode)
{
DEBUG(3, ("smbfs_chmod(path:%s, mode:%d)\n", path, mode));
/* my_errno = EOPNOTSUPP;
@ -833,7 +833,7 @@ smbfs_chmod (struct vfs_class *me, char *path, int mode)
}
static int
smbfs_chown (struct vfs_class *me, char *path, int owner, int group)
smbfs_chown (struct vfs_class *me, const char *path, int owner, int group)
{
DEBUG(3, ("smbfs_chown(path:%s, owner:%d, group:%d)\n", path, owner, group));
my_errno = EOPNOTSUPP; /* ready for your labotomy? */
@ -841,7 +841,7 @@ smbfs_chown (struct vfs_class *me, char *path, int owner, int group)
}
static int
smbfs_utime (struct vfs_class *me, char *path, struct utimbuf *times)
smbfs_utime (struct vfs_class *me, const char *path, struct utimbuf *times)
{
DEBUG(3, ("smbfs_utime(path:%s)\n", path));
my_errno = EOPNOTSUPP;

View File

@ -43,9 +43,9 @@ struct vfs_class {
int (*lstat) (struct vfs_class *me, const char *path, struct stat * buf);
int (*fstat) (void *vfs_info, struct stat * buf);
int (*chmod) (struct vfs_class *me, /*FIXME:const*/ char *path, int mode);
int (*chown) (struct vfs_class *me, /*FIXME:const*/ char *path, int owner, int group);
int (*utime) (struct vfs_class *me, /*FIXME:const*/ char *path,
int (*chmod) (struct vfs_class *me, const char *path, int mode);
int (*chown) (struct vfs_class *me, const char *path, int owner, int group);
int (*utime) (struct vfs_class *me, const char *path,
struct utimbuf * times);
int (*readlink) (struct vfs_class *me, /*FIXME:const*/ char *path, char *buf,