1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

update from main archive 960107

Tue Jan  7 09:48:15 1997  Andreas Jaeger  <aj@arthur.pfalz.de>

	* signal/sigempty.c (sigemptyset): Correct typo: Empty set should
	have all bits zero.

Tue Jan  7 23:44:39 1997  Ulrich Drepper  <drepper@cygnus.com>

	* inet/gethstbynm.c: Include additional headers for additional
	code in nss/digits_dots.c.
	* inet/gethstbynm_r.c: Likewise.
	* inet/gethstbynm2.c: Likewise.
	* inet/gethstbynm2_r.c: Likewise.
	* nss/digits_dots.c: New file.  Handle dotted pair notation for
	gethstbynm functions.
	* nss/getXXbyYY.c: Include digits_dots.c to get extra code for
	handling dotted pair notation.
	* nss/getXXbyYY_r.c: Likewise.
	Patches by HJ Lu.

	* resolv/nss_dns/dns-host.c: Don't handle dotted pair notation.

	* io/getwd.c: Optimized a bit.

	* signal/signal.h: Always declare __sysv_signal.

	* sysdeps/generic/setenv.c: Add some portability code.

	* sysdeps/unix/sysv/fcntlbits.h: Update copyright.

	* sysdeps/unix/sysv/linux/fcntlbits.h: Add definitions from kernel
	to avoid using kernel headers.
	* sysdeps/unix/sysv/linux/alpha/fcntlbits.h: New file.  Alpha
	specific version.

	* sysdeps/unix/sysv/linux/syscalls.list: Add sys_mknod.  Don't
	mark sigreturn as EXTRA.

	* sysdeps/unix/sysv/linux/ustat.c: Declare __syscall_ustat.
	* sysdeps/unix/sysv/linux/alpha/ustat.c: New file.  Alpha version.

Tue Jan  7 09:48:15 1997  Andreas Jaeger  <aj@arthur.pfalz.de>

	* io/fts.c (fts_alloc): Add const to second parameter of function.

	* io/Makefile: Change CFLAGS-fts.c and define CFLAGS-ftw.c to
	prevent warnings.

	* signal/sigfillset.c: Include <string.h> for memset declaration.

Tue Jan  7 11:14:32 1997  Miles Bader  <miles@gnu.ai.mit.edu>

	* sysdeps/generic/setenv.c: Fix portability problems.

Tue Jan  7 02:10:17 1997  Ulrich Drepper  <drepper@cygnus.com>

	* posix/getopt.c (_getopt_internal): Don't reset __getopt_initialized
	after the last option was seen.

Mon Jan  6 15:30:21 1997  Ulrich Drepper  <drepper@cygnus.com>

	* elf/elf.h (DT_EXTRANUM): Set to 3 since 0x7ffffffd is used.
This commit is contained in:
Ulrich Drepper
1997-01-07 23:29:44 +00:00
parent 2ca1375a22
commit 61c162b5bc
24 changed files with 645 additions and 181 deletions

View File

@ -164,84 +164,6 @@ _nss_dns_gethostbyname2_r (const char *name, int af, struct hostent *result,
if (strchr (name, '.') == NULL && (cp = __hostalias (name)) != NULL)
name = cp;
/*
* disallow names consisting only of digits/dots, unless
* they end in a dot.
*/
if (isdigit (name[0]))
for (cp = name;; ++cp)
{
if (*cp == '\0')
{
char *bp;
if (*--cp == '.')
break;
/*
* All-numeric, no dot at the end. Fake up a hostent
* as if we'd actually done a lookup.
*/
if (inet_pton (af, name, host_data->host_addr) <= 0)
{
*h_errnop = HOST_NOT_FOUND;
return NSS_STATUS_NOTFOUND;
}
bp = __stpncpy (host_data->linebuffer, name, linebuflen);
host_data->linebuffer[linebuflen - 1] = '\0';
linebuflen -= bp - host_data->linebuffer;
result->h_name = host_data->linebuffer;
result->h_aliases = host_data->aliases;
host_data->aliases[0] = NULL;
host_data->h_addr_ptrs[0] = (char *) host_data->host_addr;
host_data->h_addr_ptrs[1] = NULL;
result->h_addr_list = host_data->h_addr_ptrs;
if (_res.options & RES_USE_INET6)
map_v4v6_hostent (result, &bp, &linebuflen);
*h_errnop = NETDB_SUCCESS;
return NSS_STATUS_SUCCESS;
}
if (!isdigit (*cp) && *cp != '.')
break;
}
if (isxdigit (name[0]) || name[0] == ':')
for (cp = name;; ++cp)
{
if (*cp == '\0')
{
char *bp;
if (*--cp == '.')
break;
/*
* All-IPv6-legal, no dot at the end. Fake up a hostent
* as if we'd actually done a lookup.
*/
if (inet_pton (af, name, host_data->host_addr) <= 0)
{
*h_errnop = HOST_NOT_FOUND;
return NSS_STATUS_NOTFOUND;
}
bp = __stpncpy (host_data->linebuffer, name, linebuflen);
host_data->linebuffer[linebuflen - 1] = '\0';
linebuflen -= bp - host_data->linebuffer;
result->h_name = host_data->linebuffer;
result->h_aliases = host_data->aliases;
host_data->aliases[0] = NULL;
host_data->h_addr_ptrs[0] = (char *) host_data->host_addr;
host_data->h_addr_ptrs[1] = NULL;
result->h_addr_list = host_data->h_addr_ptrs;
*h_errnop = NETDB_SUCCESS;
return NSS_STATUS_SUCCESS;
}
if (!isxdigit (*cp) && *cp != ':' && *cp != '.')
break;
}
n = res_search (name, C_IN, type, host_buffer.buf, sizeof (host_buffer));
if (n < 0)
return errno == ECONNREFUSED ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND;