diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-09-23 02:10:30 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-09-23 02:10:30 +0000 |
commit | 9d0881aa76b399e6a025c5cf44bebe2ae0efa8af (patch) | |
tree | be1194cddcc8909fe82713a2341725453848689a /nss/nss_files/files-network.c | |
parent | 9461da69cccd07de98e7a348537bae313df01b4d (diff) | |
download | glibc-9d0881aa76b399e6a025c5cf44bebe2ae0efa8af.tar.gz glibc-9d0881aa76b399e6a025c5cf44bebe2ae0efa8af.tar.xz glibc-9d0881aa76b399e6a025c5cf44bebe2ae0efa8af.zip |
Update.
2001-09-20 H.J. Lu <hjl@gnu.org> * include/dlfcn.h (__RTLD_SPROF): New definiton. * elf/dl-open.c (dl_open_worker): Return immediately after loading for __RTLD_SPROF. * elf/sprof.c (main): Default to the filename if soname doesn't exist. (load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF. 2001-09-20 H.J. Lu <hjl@gnu.org> * elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc, don't add 1. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * nss/getent.c: Accept -s parameter to overwrite rules in nsswitch.conf. Patch by Nalin Dahyabhai <nalin@redhat.com>. * nss/nss_files/files-network.c (LINE_PARSER): Pad addr string with as many ".0" as necessary to form a complete address inet_network understands. * nss/getent.c: Various cleanups. Use simpler and fewer function calls. 2001-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in _JMPBUF_UNWINDS. * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * iconvdata/Makefile: Add rules to build and distribute IBM1160 and IBM1161. * iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161. * iconvdata/ibm1160.c: New file. * iconvdata/ibm1160.h: New file. * iconvdata/ibm1161.c: New file. * iconvdata/ibm1161.h: New file. 2001-09-19 Jakub Jelinek <jakub@redhat.com> * sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the difference between base address and first PT_LOAD's virtual address, not the base address. 2001-09-11 Tom Rix <trix@redhat.com> * sysdeps/unix/sysv/aix/init-first.c (init): Use USE_NONONPTION_FLAG ifdef for __getopt_clean_environment. * sysdeps/unix/sysv/aix/libc-start.c: Add real implementation. * sysdeps/unix/sysv/linux/x86_64/Dist: New file. * sysdeps/x86_64/Dist: New file. * sysdeps/x86_64/soft-fp/Dist: New file.
Diffstat (limited to 'nss/nss_files/files-network.c')
-rw-r--r-- | nss/nss_files/files-network.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/nss/nss_files/files-network.c b/nss/nss_files/files-network.c index 383f68fe99..9f4a3e0324 100644 --- a/nss/nss_files/files-network.c +++ b/nss/nss_files/files-network.c @@ -1,5 +1,5 @@ /* Networks file parser in nss_files module. - Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 2000, 2001 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 @@ -34,10 +34,40 @@ LINE_PARSER ("#", { char *addr; + char *cp; + int n = 1; STRING_FIELD (result->n_name, isspace, 1); STRING_FIELD (addr, isspace, 1); + /* 'inet_network' does not add zeroes at the end if the network number + does not four byte values. We add them outselves if necessary. */ + cp = strchr (addr, '.'); + if (cp != NULL) + { + ++n; + cp = strchr (cp + 1, '.'); + if (cp != NULL) + { + ++n; + cp = strchr (cp + 1, '.'); + if (cp != NULL) + ++n; + } + } + if (n < 4) + { + char *newp = (char *) alloca (strlen (addr) + (4 - n) * 2 + 1); + cp = stpcpy (newp, addr); + do + { + *cp++ = '.'; + *cp++ = '0'; + } + while (++n < 4); + *cp = '\0'; + addr = newp; + } result->n_net = inet_network (addr); result->n_addrtype = AF_INET; |