* fhandler_disk_file.cc (__DIR_mounts::eval_ino): Make fname big enough
to allow multibyte chars.
This commit is contained in:
parent
f3257492c4
commit
6788155fe2
@ -1,3 +1,8 @@
|
|||||||
|
2007-10-19 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* fhandler_disk_file.cc (__DIR_mounts::eval_ino): Make fname big enough
|
||||||
|
to allow multibyte chars.
|
||||||
|
|
||||||
2007-10-18 Corinna Vinschen <corinna@vinschen.de>
|
2007-10-18 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* fhandler.cc (fhandler_base::open): Open native symlinks with
|
* fhandler.cc (fhandler_base::open): Open native symlinks with
|
||||||
|
@ -49,13 +49,13 @@ class __DIR_mounts
|
|||||||
__ino64_t eval_ino (int idx)
|
__ino64_t eval_ino (int idx)
|
||||||
{
|
{
|
||||||
__ino64_t ino = 0;
|
__ino64_t ino = 0;
|
||||||
char fname[parent_dir_len + mounts[idx].Length / sizeof (WCHAR) + 2];
|
char fname[parent_dir_len + mounts[idx].Length + 2];
|
||||||
struct __stat64 st;
|
struct __stat64 st;
|
||||||
|
|
||||||
char *c = stpcpy (fname, parent_dir);
|
char *c = stpcpy (fname, parent_dir);
|
||||||
if (c[- 1] != '/')
|
if (c[- 1] != '/')
|
||||||
*c++ = '/';
|
*c++ = '/';
|
||||||
sys_wcstombs (c, mounts[idx].Length / sizeof (WCHAR) + 1,
|
sys_wcstombs (c, mounts[idx].Length + 1,
|
||||||
mounts[idx].Buffer, mounts[idx].Length / sizeof (WCHAR));
|
mounts[idx].Buffer, mounts[idx].Length / sizeof (WCHAR));
|
||||||
path_conv pc (fname, PC_SYM_NOFOLLOW | PC_POSIX);
|
path_conv pc (fname, PC_SYM_NOFOLLOW | PC_POSIX);
|
||||||
if (!stat_worker (pc, &st))
|
if (!stat_worker (pc, &st))
|
||||||
|
Loading…
Reference in New Issue
Block a user