* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start: go): Fix arg type.

* sysdeps/mach/hurd/if_index.c (if_nameindex): Use size_t for AMOUNT
	argument to pfinet_siocgifconf RPC.
This commit is contained in:
Roland McGrath 2002-06-13 09:02:29 +00:00
parent 8f0ac69e43
commit b83cbb99bd
3 changed files with 11 additions and 8 deletions

View File

@ -7,6 +7,10 @@
(_dl_init_first): Likewise.
(_hurd_stack_setup): Likewise.
(init1): Add a cast.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start: go): Fix arg type.
* sysdeps/mach/hurd/if_index.c (if_nameindex): Use size_t for AMOUNT
argument to pfinet_siocgifconf RPC.
2002-06-13 Andreas Schwab <schwab@suse.de>

View File

@ -113,7 +113,7 @@ _dl_sysdep_start (void **start_argptr,
void (*dl_main) (const ElfW(Phdr) *phdr, ElfW(Word) phent,
ElfW(Addr) *user_entry))
{
void go (int *argdata)
void go (intptr_t *argdata)
{
extern unsigned int _dl_skip_args; /* rtld.c */
char **p;

View File

@ -1,5 +1,5 @@
/* Find network interface names and index numbers. Hurd version.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000,01,02 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -80,7 +80,6 @@ if_nameindex (void)
struct if_nameindex *idx = NULL;
ifc.ifc_buf = data;
ifc.ifc_len = sizeof (data);
if (fd < 0)
return NULL;
@ -90,8 +89,8 @@ if_nameindex (void)
nifs = 0;
else
{
err = __pfinet_siocgifconf (server, -1, &ifc.ifc_buf,
&ifc.ifc_len);
size_t len = sizeof data;
err = __pfinet_siocgifconf (server, -1, &ifc.ifc_buf, &len);
if (err == MACH_SEND_INVALID_DEST || err == MIG_SERVER_DIED)
{
/* On the first use of the socket server during the operation,
@ -99,13 +98,13 @@ if_nameindex (void)
server = _hurd_socket_server (PF_INET, 1);
if (server == MACH_PORT_NULL)
goto out;
err = __pfinet_siocgifconf (server, -1, &ifc.ifc_buf,
&ifc.ifc_len);
err = __pfinet_siocgifconf (server, -1, &ifc.ifc_buf, &len);
}
if (err)
goto out;
nifs = ifc.ifc_len / sizeof (struct ifreq);
ifc.ifc_len = len;
nifs = len / sizeof (struct ifreq);
}
idx = malloc ((nifs + 1) * sizeof (struct if_nameindex));