summaryrefslogtreecommitdiffstats
path: root/usr.bin/showmount
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/showmount')
-rw-r--r--usr.bin/showmount/showmount.c36
1 files changed, 2 insertions, 34 deletions
diff --git a/usr.bin/showmount/showmount.c b/usr.bin/showmount/showmount.c
index ecc528d..df692ac 100644
--- a/usr.bin/showmount/showmount.c
+++ b/usr.bin/showmount/showmount.c
@@ -215,7 +215,6 @@ main(argc, argv)
* tcp_callrpc has the same interface as callrpc, but tries to
* use tcp as transport method in order to handle large replies.
*/
-
int
tcp_callrpc(host, prognum, versnum, procnum, inproc, in, outproc, out)
char *host;
@@ -227,43 +226,12 @@ tcp_callrpc(host, prognum, versnum, procnum, inproc, in, outproc, out)
xdrproc_t outproc;
char *out;
{
- struct hostent *hp;
- struct sockaddr_in server_addr;
CLIENT *client;
- int sock;
struct timeval timeout;
int rval;
-
- hp = gethostbyname(host);
-
- if (!hp)
- return ((int) RPC_UNKNOWNHOST);
- memset(&server_addr,0,sizeof(server_addr));
- memcpy((char *) &server_addr.sin_addr,
- hp->h_addr,
- hp->h_length);
- server_addr.sin_len = sizeof(struct sockaddr_in);
- server_addr.sin_family =AF_INET;
- server_addr.sin_port = 0;
-
- sock = RPC_ANYSOCK;
-
- client = clnttcp_create(&server_addr,
- (u_long) prognum,
- (u_long) versnum, &sock, 0, 0);
- if (!client) {
- timeout.tv_sec = 5;
- timeout.tv_usec = 0;
- server_addr.sin_port = 0;
- sock = RPC_ANYSOCK;
- client = clntudp_create(&server_addr,
- (u_long) prognum,
- (u_long) versnum,
- timeout,
- &sock);
- }
- if (!client)
+ if ((client = clnt_create(host, prognum, versnum, "tcp")) == NULL &&
+ (client = clnt_create(host, prognum, versnum, "udp")) == NULL)
return ((int) rpc_createerr.cf_stat);
timeout.tv_sec = 25;
OpenPOWER on IntegriCloud