* mcfs.c (mcfs_readlink): Revert last change: readlink does not
append a NUL character to buf. Fix compilation.
Этот коммит содержится в:
родитель
f30fc0163b
Коммит
d99d02c743
@ -7,10 +7,12 @@
|
||||
* vfs-impl.h (struct vfs_class.readlink): Make "size" size_t.
|
||||
Adjust all callers.
|
||||
* local.c (local_readlink): Make "size" size_t.
|
||||
* direntry.c (vfs_s_readlink): Revert last changes. Make "size"
|
||||
* direntry.c (vfs_s_readlink): Revert last changes. Make "size"
|
||||
size_t.
|
||||
* sfs.c (sfs_readlink): Reformat function.
|
||||
* smbfs.c (smbfs_readlink): Reformat function.
|
||||
* smbfs.c (smbfs_readlink): Reformat function.
|
||||
* mcfs.c (mcfs_readlink): Revert last change: readlink does not
|
||||
append a NUL character to buf. Fix compilation.
|
||||
|
||||
2004-09-02 Roland Illig <roland.illig@gmx.de>
|
||||
|
||||
|
10
vfs/mcfs.c
10
vfs/mcfs.c
@ -963,11 +963,12 @@ mcfs_utime (struct vfs_class *me, const char *path, struct utimbuf *times)
|
||||
}
|
||||
|
||||
static int
|
||||
mcfs_readlink (struct vfs_class *me, const char *path, char *buf, int size)
|
||||
mcfs_readlink (struct vfs_class *me, const char *path, char *buf, size_t size)
|
||||
{
|
||||
char *remote_file, *stat_str;
|
||||
int status, error;
|
||||
mcfs_connection *mc;
|
||||
size_t len;
|
||||
|
||||
if (!(remote_file = mcfs_get_path (&mc, path)))
|
||||
return -1;
|
||||
@ -984,8 +985,11 @@ mcfs_readlink (struct vfs_class *me, const char *path, char *buf, int size)
|
||||
if (!rpc_get (mc->sock, RPC_STRING, &stat_str, RPC_END))
|
||||
return mcfs_set_error (-1, EIO);
|
||||
|
||||
strncpy (buf, stat_str, size - 1);
|
||||
buf[size - 1] = '\0';
|
||||
len = strlen (stat_str);
|
||||
if (len < size)
|
||||
size = len;
|
||||
/* readlink() does not append a NUL character to buf */
|
||||
memcpy (buf, stat_str, size);
|
||||
g_free (stat_str);
|
||||
return size;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user