mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
Update.
* libio/iofopncook.c (_IO_cookie_seek): Correct return value. Patch by Peter Miller <millerp@canb.auug.org.au>. 1999-04-27 Thorsten Kukuk <kukuk@suse.de> * sunrpc/pmap_clnt.c: Add own get_myaddress function, which prefers loopback device. 1999-04-28 Ulrich Drepper <drepper@cygnus.com>
This commit is contained in:
parent
66f93c2d97
commit
925ed47cfb
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
1999-04-28 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* libio/iofopncook.c (_IO_cookie_seek): Correct return value.
|
||||||
|
Patch by Peter Miller <millerp@canb.auug.org.au>.
|
||||||
|
|
||||||
|
1999-04-27 Thorsten Kukuk <kukuk@suse.de>
|
||||||
|
|
||||||
|
* sunrpc/pmap_clnt.c: Add own get_myaddress function, which
|
||||||
|
prefers loopback device.
|
||||||
|
|
||||||
1999-04-28 Ulrich Drepper <drepper@cygnus.com>
|
1999-04-28 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
* posix/fnmatch.c (internal_fnmatch): Finish incomplete
|
* posix/fnmatch.c (internal_fnmatch): Finish incomplete
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
|
/* Copyright (C) 1993, 1995, 1997, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU IO Library.
|
This file is part of the GNU IO Library.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
@ -81,10 +81,7 @@ _IO_cookie_seek (fp, offset, dir)
|
|||||||
pos = _IO_pos_0;
|
pos = _IO_pos_0;
|
||||||
_IO_pos_adjust (pos, offset);
|
_IO_pos_adjust (pos, offset);
|
||||||
|
|
||||||
if (cfile->io_functions.seek (cfile->cookie, pos, dir))
|
return cfile->io_functions.seek (cfile->cookie, pos, dir);
|
||||||
return _IO_pos_BAD;
|
|
||||||
|
|
||||||
return pos;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -51,8 +51,8 @@ CHARMAP
|
|||||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||||
<SYN> /x16 <U0016> SYNCRONOUS IDLE (SYN)
|
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||||
<SY> /x16 <U0016> SYNCRONOUS IDLE (SYN)
|
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||||
@ -524,8 +524,8 @@ CHARMAP
|
|||||||
<o1> /xc7/xad <U01ed> LATIN SMALL LETTER O WITH OGONEK AND MACRON
|
<o1> /xc7/xad <U01ed> LATIN SMALL LETTER O WITH OGONEK AND MACRON
|
||||||
<EZ> /xc7/xae <U01ee> LATIN CAPITAL LETTER EZH WITH CARON
|
<EZ> /xc7/xae <U01ee> LATIN CAPITAL LETTER EZH WITH CARON
|
||||||
<ez> /xc7/xaf <U01ef> LATIN SMALL LETTER EZH WITH CARON
|
<ez> /xc7/xaf <U01ef> LATIN SMALL LETTER EZH WITH CARON
|
||||||
<G'> /xc7/xb8 <U01f8> LATIN CAPITAL LETTER G WITH ACUTE
|
<G'> /xc7/xb4 <U01f4> LATIN CAPITAL LETTER G WITH ACUTE
|
||||||
<g'> /xc7/xb9 <U01f9> LATIN SMALL LETTER G WITH ACUTE
|
<g'> /xc7/xb5 <U01f5> LATIN SMALL LETTER G WITH ACUTE
|
||||||
<AA'> /xc7/xba <U01fa> LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
|
<AA'> /xc7/xba <U01fa> LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
|
||||||
<aa'> /xc7/xbb <U01fb> LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
|
<aa'> /xc7/xbb <U01fb> LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
|
||||||
<AE'> /xc7/xbc <U01fc> LATIN CAPITAL LETTER AE WITH ACUTE
|
<AE'> /xc7/xbc <U01fc> LATIN CAPITAL LETTER AE WITH ACUTE
|
||||||
@ -560,7 +560,7 @@ CHARMAP
|
|||||||
<;S> /xca/xbb <U02bb> MODIFIER LETTER TURNED COMMA
|
<;S> /xca/xbb <U02bb> MODIFIER LETTER TURNED COMMA
|
||||||
<1/>> /xcb/x86 <U02c6> MODIFIER LETTER CIRCUMFLEX ACCENT
|
<1/>> /xcb/x86 <U02c6> MODIFIER LETTER CIRCUMFLEX ACCENT
|
||||||
<'<> /xcb/x87 <U02c7> CARON (Mandarin Chinese third tone)
|
<'<> /xcb/x87 <U02c7> CARON (Mandarin Chinese third tone)
|
||||||
<1!> /xcb/x95 <U02d5> MODIFIER LETTER GRAVE ACCENT
|
<1!> /xcb/x8b <U02cb> MODIFIER LETTER GRAVE ACCENT
|
||||||
<'(> /xcb/x98 <U02d8> BREVE
|
<'(> /xcb/x98 <U02d8> BREVE
|
||||||
<'.> /xcb/x99 <U02d9> DOT ABOVE (Mandarin Chinese light tone)
|
<'.> /xcb/x99 <U02d9> DOT ABOVE (Mandarin Chinese light tone)
|
||||||
<'0> /xcb/x9a <U02da> RING ABOVE
|
<'0> /xcb/x9a <U02da> RING ABOVE
|
||||||
@ -581,7 +581,7 @@ CHARMAP
|
|||||||
<O%> /xce/x8c <U038c> GREEK CAPITAL LETTER OMICRON WITH TONOS
|
<O%> /xce/x8c <U038c> GREEK CAPITAL LETTER OMICRON WITH TONOS
|
||||||
<U%> /xce/x8e <U038e> GREEK CAPITAL LETTER UPSILON WITH TONOS
|
<U%> /xce/x8e <U038e> GREEK CAPITAL LETTER UPSILON WITH TONOS
|
||||||
<W%> /xce/x8f <U038f> GREEK CAPITAL LETTER OMEGA WITH TONOS
|
<W%> /xce/x8f <U038f> GREEK CAPITAL LETTER OMEGA WITH TONOS
|
||||||
<i3> /xce/x90 <U0390> GREEK SMALL LETTER IOTA WITH DIALYTICA AND TONOS
|
<i3> /xce/x90 <U0390> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
|
||||||
<A*> /xce/x91 <U0391> GREEK CAPITAL LETTER ALPHA
|
<A*> /xce/x91 <U0391> GREEK CAPITAL LETTER ALPHA
|
||||||
<B*> /xce/x92 <U0392> GREEK CAPITAL LETTER BETA
|
<B*> /xce/x92 <U0392> GREEK CAPITAL LETTER BETA
|
||||||
<G*> /xce/x93 <U0393> GREEK CAPITAL LETTER GAMMA
|
<G*> /xce/x93 <U0393> GREEK CAPITAL LETTER GAMMA
|
||||||
@ -1161,7 +1161,7 @@ CHARMAP
|
|||||||
<=s> /xe2/x82/x8c <U208c> SUBSCRIPT EQUALS SIGN
|
<=s> /xe2/x82/x8c <U208c> SUBSCRIPT EQUALS SIGN
|
||||||
<(s> /xe2/x82/x8d <U208d> SUBSCRIPT LEFT PARENTHESIS
|
<(s> /xe2/x82/x8d <U208d> SUBSCRIPT LEFT PARENTHESIS
|
||||||
<)s> /xe2/x82/x8e <U208e> SUBSCRIPT RIGHT PARENTHESIS
|
<)s> /xe2/x82/x8e <U208e> SUBSCRIPT RIGHT PARENTHESIS
|
||||||
<Ff> /xe2/x82/xa3 <U20a3> FRENCH FRANK SIGN
|
<Ff> /xe2/x82/xa3 <U20a3> FRENCH FRANC SIGN
|
||||||
<Li> /xe2/x82/xa4 <U20a4> LIRA SIGN
|
<Li> /xe2/x82/xa4 <U20a4> LIRA SIGN
|
||||||
<Pt> /xe2/x82/xa7 <U20a7> PESETA SIGN
|
<Pt> /xe2/x82/xa7 <U20a7> PESETA SIGN
|
||||||
<W=> /xe2/x82/xa9 <U20a9> WON SIGN
|
<W=> /xe2/x82/xa9 <U20a9> WON SIGN
|
||||||
@ -1546,7 +1546,7 @@ CHARMAP
|
|||||||
<RO> /xe2/x96/xa2 <U25a2> WHITE SQUARE WITH ROUNDED CORNERS
|
<RO> /xe2/x96/xa2 <U25a2> WHITE SQUARE WITH ROUNDED CORNERS
|
||||||
<Rr> /xe2/x96/xa3 <U25a3> WHITE SQUARE CONTAINING BLACK SMALL SQUARE
|
<Rr> /xe2/x96/xa3 <U25a3> WHITE SQUARE CONTAINING BLACK SMALL SQUARE
|
||||||
<RF> /xe2/x96/xa4 <U25a4> SQUARE WITH HORIZONTAL FILL
|
<RF> /xe2/x96/xa4 <U25a4> SQUARE WITH HORIZONTAL FILL
|
||||||
<RY> /x00 SQUARE WITH VERTICAL FILL
|
<RY> /xe2/x96/xa5 <U25a5> SQUARE WITH VERTICAL FILL
|
||||||
<RH> /xe2/x96/xa6 <U25a6> SQUARE WITH ORTHOGONAL CROSSHATCH FILL
|
<RH> /xe2/x96/xa6 <U25a6> SQUARE WITH ORTHOGONAL CROSSHATCH FILL
|
||||||
<RZ> /xe2/x96/xa7 <U25a7> SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
|
<RZ> /xe2/x96/xa7 <U25a7> SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
|
||||||
<RK> /xe2/x96/xa8 <U25a8> SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
|
<RK> /xe2/x96/xa8 <U25a8> SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
|
||||||
@ -1608,7 +1608,7 @@ CHARMAP
|
|||||||
<,_> /xe3/x80/x81 <U3001> IDEOGRAPHIC COMMA
|
<,_> /xe3/x80/x81 <U3001> IDEOGRAPHIC COMMA
|
||||||
<._> /xe3/x80/x82 <U3002> IDEOGRAPHIC FULL STOP
|
<._> /xe3/x80/x82 <U3002> IDEOGRAPHIC FULL STOP
|
||||||
<+"> /xe3/x80/x83 <U3003> DITTO MARK
|
<+"> /xe3/x80/x83 <U3003> DITTO MARK
|
||||||
<JIS> /xe3/x80/x84 <U3004> JAPANESE INDUSTRIAL STANDARD SIGN
|
<JIS> /xe3/x80/x84 <U3004> JAPANESE INDUSTRIAL STANDARD SYMBOL
|
||||||
<*_> /xe3/x80/x85 <U3005> IDEOGRAPHIC ITERATION MARK
|
<*_> /xe3/x80/x85 <U3005> IDEOGRAPHIC ITERATION MARK
|
||||||
<;_> /xe3/x80/x86 <U3006> IDEOGRAPHIC CLOSING MARK
|
<;_> /xe3/x80/x86 <U3006> IDEOGRAPHIC CLOSING MARK
|
||||||
<0_> /xe3/x80/x87 <U3007> IDEOGRAPHIC NUMBER ZERO
|
<0_> /xe3/x80/x87 <U3007> IDEOGRAPHIC NUMBER ZERO
|
||||||
@ -1829,7 +1829,7 @@ CHARMAP
|
|||||||
<fl> /xef/xac/x82 <Ufb02> LATIN SMALL LIGATURE FL
|
<fl> /xef/xac/x82 <Ufb02> LATIN SMALL LIGATURE FL
|
||||||
<ffi> /xef/xac/x83 <Ufb03> LATIN SMALL LIGATURE FFI
|
<ffi> /xef/xac/x83 <Ufb03> LATIN SMALL LIGATURE FFI
|
||||||
<ffl> /xef/xac/x84 <Ufb04> LATIN SMALL LIGATURE FFL
|
<ffl> /xef/xac/x84 <Ufb04> LATIN SMALL LIGATURE FFL
|
||||||
<ft> /xef/xac/x85 <Ufb05> LATIN SMALL LIGATURE FT
|
<ft> /xef/xac/x85 <Ufb05> LATIN SMALL LIGATURE LONG S T
|
||||||
<st> /xef/xac/x86 <Ufb06> LATIN SMALL LIGATURE ST
|
<st> /xef/xac/x86 <Ufb06> LATIN SMALL LIGATURE ST
|
||||||
<3+;> /xef/xb9/xbd <Ufe7d> ARABIC SHADDA MEDIAL FORM
|
<3+;> /xef/xb9/xbd <Ufe7d> ARABIC SHADDA MEDIAL FORM
|
||||||
<aM.> /xef/xba/x82 <Ufe82> ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
|
<aM.> /xef/xba/x82 <Ufe82> ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
|
||||||
|
@ -233,7 +233,7 @@ escape_char /
|
|||||||
<S3> <U008F> SINGLE-SHIFT THREE (SS3)
|
<S3> <U008F> SINGLE-SHIFT THREE (SS3)
|
||||||
<DC> <U0090> DEVICE CONTROL STRING (DCS)
|
<DC> <U0090> DEVICE CONTROL STRING (DCS)
|
||||||
<P1> <U0091> PRIVATE USE ONE (PU1)
|
<P1> <U0091> PRIVATE USE ONE (PU1)
|
||||||
<P2> <U0092> PRIVATE USE ONE (PU2)
|
<P2> <U0092> PRIVATE USE TWO (PU2)
|
||||||
<TS> <U0093> SET TRANSMIT STATE (STS)
|
<TS> <U0093> SET TRANSMIT STATE (STS)
|
||||||
<CC> <U0094> CANCEL CHARACTER (CCH)
|
<CC> <U0094> CANCEL CHARACTER (CCH)
|
||||||
<MW> <U0095> MESSAGE WAITING (MW)
|
<MW> <U0095> MESSAGE WAITING (MW)
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
/* @(#)pmap_clnt.c 2.2 88/08/01 4.0 RPCSRC */
|
|
||||||
/*
|
/*
|
||||||
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
|
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
|
||||||
* unrestricted use provided that this legend is included on all tape
|
* unrestricted use provided that this legend is included on all tape
|
||||||
@ -27,21 +26,81 @@
|
|||||||
* 2550 Garcia Avenue
|
* 2550 Garcia Avenue
|
||||||
* Mountain View, California 94043
|
* Mountain View, California 94043
|
||||||
*/
|
*/
|
||||||
#if !defined(lint) && defined(SCCSIDS)
|
/*
|
||||||
static char sccsid[] = "@(#)pmap_clnt.c 1.37 87/08/11 Copyr 1984 Sun Micro";
|
* Copyright (C) 1984, Sun Microsystems, Inc.
|
||||||
#endif
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* pmap_clnt.c
|
* pmap_clnt.c
|
||||||
* Client interface to pmap rpc service.
|
* Client interface to pmap rpc service.
|
||||||
*
|
|
||||||
* Copyright (C) 1984, Sun Microsystems, Inc.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
#include <rpc/rpc.h>
|
#include <rpc/rpc.h>
|
||||||
#include <rpc/pmap_prot.h>
|
#include <rpc/pmap_prot.h>
|
||||||
#include <rpc/pmap_clnt.h>
|
#include <rpc/pmap_clnt.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Same as get_myaddress, but we try to use the loopback
|
||||||
|
* interface. portmap caches interfaces, and on DHCP clients,
|
||||||
|
* it could be that only loopback is started at this time.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
__get_myaddress (struct sockaddr_in *addr)
|
||||||
|
{
|
||||||
|
int s;
|
||||||
|
char buf[BUFSIZ];
|
||||||
|
struct ifconf ifc;
|
||||||
|
struct ifreq ifreq, *ifr;
|
||||||
|
int len, loopback = 1;
|
||||||
|
|
||||||
|
if ((s = __socket (AF_INET, SOCK_DGRAM, 0)) < 0)
|
||||||
|
{
|
||||||
|
perror ("__get_myaddress: socket");
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
ifc.ifc_len = sizeof (buf);
|
||||||
|
ifc.ifc_buf = buf;
|
||||||
|
if (__ioctl (s, SIOCGIFCONF, (char *) &ifc) < 0)
|
||||||
|
{
|
||||||
|
perror (_("__get_myaddress: ioctl (get interface configuration)"));
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
again:
|
||||||
|
ifr = ifc.ifc_req;
|
||||||
|
for (len = ifc.ifc_len; len; len -= sizeof ifreq)
|
||||||
|
{
|
||||||
|
ifreq = *ifr;
|
||||||
|
if (__ioctl (s, SIOCGIFFLAGS, (char *) &ifreq) < 0)
|
||||||
|
{
|
||||||
|
perror ("__get_myaddress: ioctl");
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
if ((ifreq.ifr_flags & IFF_UP) && (ifr->ifr_addr.sa_family == AF_INET)
|
||||||
|
&& ((ifreq.ifr_flags & IFF_LOOPBACK) || (loopback == 0)))
|
||||||
|
{
|
||||||
|
*addr = *((struct sockaddr_in *) &ifr->ifr_addr);
|
||||||
|
addr->sin_port = htons (PMAPPORT);
|
||||||
|
__close (s);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ifr++;
|
||||||
|
}
|
||||||
|
if (loopback == 1)
|
||||||
|
{
|
||||||
|
loopback = 0;
|
||||||
|
goto again;
|
||||||
|
}
|
||||||
|
__close (s);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static const struct timeval timeout = {5, 0};
|
static const struct timeval timeout = {5, 0};
|
||||||
static const struct timeval tottimeout = {60, 0};
|
static const struct timeval tottimeout = {60, 0};
|
||||||
|
|
||||||
@ -58,7 +117,7 @@ pmap_set (u_long program, u_long version, int protocol, u_short port)
|
|||||||
struct pmap parms;
|
struct pmap parms;
|
||||||
bool_t rslt;
|
bool_t rslt;
|
||||||
|
|
||||||
get_myaddress (&myaddress);
|
__get_myaddress (&myaddress);
|
||||||
client = clntudp_bufcreate (&myaddress, PMAPPROG, PMAPVERS,
|
client = clntudp_bufcreate (&myaddress, PMAPPROG, PMAPVERS,
|
||||||
timeout, &socket, RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
|
timeout, &socket, RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
|
||||||
if (client == (CLIENT *) NULL)
|
if (client == (CLIENT *) NULL)
|
||||||
@ -92,7 +151,7 @@ pmap_unset (u_long program, u_long version)
|
|||||||
struct pmap parms;
|
struct pmap parms;
|
||||||
bool_t rslt;
|
bool_t rslt;
|
||||||
|
|
||||||
get_myaddress (&myaddress);
|
__get_myaddress (&myaddress);
|
||||||
client = clntudp_bufcreate (&myaddress, PMAPPROG, PMAPVERS,
|
client = clntudp_bufcreate (&myaddress, PMAPPROG, PMAPVERS,
|
||||||
timeout, &socket, RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
|
timeout, &socket, RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
|
||||||
if (client == (CLIENT *) NULL)
|
if (client == (CLIENT *) NULL)
|
||||||
|
Loading…
Reference in New Issue
Block a user