|
@@ -298,22 +298,21 @@ struct rpc_clnt *rpc_create(struct rpc_create_args *args)
|
|
|
* up a string representation of the passed-in address.
|
|
|
*/
|
|
|
if (args->servername == NULL) {
|
|
|
+ struct sockaddr_in *sin =
|
|
|
+ (struct sockaddr_in *)args->address;
|
|
|
+ struct sockaddr_in6 *sin6 =
|
|
|
+ (struct sockaddr_in6 *)args->address;
|
|
|
+
|
|
|
servername[0] = '\0';
|
|
|
switch (args->address->sa_family) {
|
|
|
- case AF_INET: {
|
|
|
- struct sockaddr_in *sin =
|
|
|
- (struct sockaddr_in *)args->address;
|
|
|
+ case AF_INET:
|
|
|
snprintf(servername, sizeof(servername), "%pI4",
|
|
|
&sin->sin_addr.s_addr);
|
|
|
break;
|
|
|
- }
|
|
|
- case AF_INET6: {
|
|
|
- struct sockaddr_in6 *sin =
|
|
|
- (struct sockaddr_in6 *)args->address;
|
|
|
+ case AF_INET6:
|
|
|
snprintf(servername, sizeof(servername), "%pI6",
|
|
|
- &sin->sin6_addr);
|
|
|
+ &sin6->sin6_addr);
|
|
|
break;
|
|
|
- }
|
|
|
default:
|
|
|
/* caller wants default server name, but
|
|
|
* address family isn't recognized. */
|