* path.cc (symlink_info::check): Use new introducer for mknod'ed files.
(parse_device): Ditto. * syscalls.cc (mknod_worker): Ditto.
This commit is contained in:
parent
4cb3e57917
commit
341d295422
|
@ -1,3 +1,9 @@
|
|||
2003-09-27 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* path.cc (symlink_info::check): Use new introducer for mknod'ed files.
|
||||
(parse_device): Ditto.
|
||||
* syscalls.cc (mknod_worker): Ditto.
|
||||
|
||||
2003-09-27 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* devices.shilka: Add /dev/sda disk devices.
|
||||
|
|
|
@ -2880,7 +2880,7 @@ symlink_info::parse_device (const char *contents)
|
|||
_major_t myminor;
|
||||
_mode_t mymode;
|
||||
|
||||
mymajor = strtol (++contents, &endptr, 16);
|
||||
mymajor = strtol (contents += 2, &endptr, 16);
|
||||
if (endptr == contents)
|
||||
return false;
|
||||
|
||||
|
@ -3016,7 +3016,7 @@ symlink_info::check (char *path, const suffix_info *suffixes, unsigned opt)
|
|||
res = check_shortcut (suffix.path, fileattr, h, contents, &error, &pflags);
|
||||
if (!res)
|
||||
/* check more below */;
|
||||
else if (*contents == ':' && parse_device (contents))
|
||||
else if (contents[0] == ':' && contents[1] == '\\' && parse_device (contents))
|
||||
goto file_not_symlink;
|
||||
else
|
||||
break;
|
||||
|
|
|
@ -2033,8 +2033,8 @@ static int __stdcall
|
|||
mknod_worker (const char *path, mode_t type, mode_t mode, _major_t major,
|
||||
_minor_t minor)
|
||||
{
|
||||
char buf[sizeof (":00000000:00000000:00000000") + MAX_PATH];
|
||||
sprintf (buf, ":%x:%x:%x", major, minor,
|
||||
char buf[sizeof (":\\00000000:00000000:00000000") + MAX_PATH];
|
||||
sprintf (buf, ":\\%x:%x:%x", major, minor,
|
||||
type | (mode & (S_IRWXU | S_IRWXG | S_IRWXO)));
|
||||
return symlink_worker (buf, path, true, true);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue