* 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:
Christopher Faylor 2003-09-27 05:44:58 +00:00
parent 4cb3e57917
commit 341d295422
3 changed files with 10 additions and 4 deletions

View File

@ -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.

View File

@ -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;

View File

@ -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);
}