mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
* sysdeps/mach/hurd/errno.c: New file.
* sysdeps/mach/hurd/ioctl.c (__ioctl): Use a union to avoid a cast.
This commit is contained in:
parent
8ad684db49
commit
1d02865b2d
@ -1,5 +1,9 @@
|
||||
2005-12-29 Roland McGrath <roland@frob.com>
|
||||
|
||||
* sysdeps/mach/hurd/errno.c: New file.
|
||||
|
||||
* sysdeps/mach/hurd/ioctl.c (__ioctl): Use a union to avoid a cast.
|
||||
|
||||
* sysdeps/posix/libc_fatal.c (__libc_message): Add a const, a cast.
|
||||
|
||||
* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Fix cast.
|
||||
|
1
sysdeps/mach/hurd/errno.c
Normal file
1
sysdeps/mach/hurd/errno.c
Normal file
@ -0,0 +1 @@
|
||||
/* No definition of `errno' variable on the Hurd. */
|
@ -58,7 +58,16 @@ __ioctl (int fd, unsigned long int request, ...)
|
||||
struct
|
||||
{
|
||||
#ifdef MACH_MSG_TYPE_BIT
|
||||
mig_reply_header_t header;
|
||||
union
|
||||
{
|
||||
mig_reply_header_t header;
|
||||
struct
|
||||
{
|
||||
mach_msg_header_t Head;
|
||||
int RetCodeType;
|
||||
kern_return_t RetCode;
|
||||
} header_typecheck;
|
||||
};
|
||||
char data[3 * sizeof (mach_msg_type_t) +
|
||||
msg_align (_IOT_COUNT0 (type) * typesize (_IOT_TYPE0 (type))) +
|
||||
msg_align (_IOT_COUNT1 (type) * typesize (_IOT_TYPE1 (type))) +
|
||||
@ -192,7 +201,7 @@ __ioctl (int fd, unsigned long int request, ...)
|
||||
return MIG_TYPE_ERROR;
|
||||
|
||||
#ifdef MACH_MSG_TYPE_BIT
|
||||
if (*(int *) &msg.header.RetCodeType !=
|
||||
if (msg.header_typecheck.RetCodeType !=
|
||||
((union { mach_msg_type_t t; int i; })
|
||||
{ t: io2mach_type (1, _IOTS (msg.header.RetCode)) }).i)
|
||||
return MIG_TYPE_ERROR;
|
||||
|
Loading…
Reference in New Issue
Block a user