From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-2.9 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: raindrops-public@bogomips.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id C86A11F4E1 for ; Wed, 14 Jan 2015 01:39:41 +0000 (UTC) From: Eric Wong To: raindrops-public@bogomips.org Subject: [PATCH] linux_inet_diag: fix Wshorten-64-to-32 warnings Date: Wed, 14 Jan 2015 01:39:38 +0000 Message-Id: <1421199578-8222-1-git-send-email-e@80x24.org> X-Mailer: git-send-email 2.2.1.269.g12c6725 List-Id: POSIX and glibc 2.2+ declare the hostlen and servlen args of getnameinfo(3) to be socklen_t, not size_t, so favor socklen_t for those calculations. While we're at it, nlmsg_len is u32, too, so cast it as such to avoid the warning. Tested on clang version 3.5-1ubuntu1 on x86-64 --- ext/raindrops/linux_inet_diag.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/raindrops/linux_inet_diag.c b/ext/raindrops/linux_inet_diag.c index 5f21295..35bb127 100644 --- a/ext/raindrops/linux_inet_diag.c +++ b/ext/raindrops/linux_inet_diag.c @@ -232,8 +232,8 @@ static struct listen_stats *stats_for(st_table *table, struct inet_diag_msg *r) char *key, *port, *old_key; size_t alloca_len; struct listen_stats *stats; - size_t keylen; - size_t portlen = sizeof("65535"); + socklen_t keylen; + socklen_t portlen = (socklen_t)sizeof("65535"); union any_addr sa; socklen_t len = sizeof(struct sockaddr_storage); int rc; @@ -274,8 +274,8 @@ static struct listen_stats *stats_for(st_table *table, struct inet_diag_msg *r) *key = 0; } - keylen = strlen(key); - portlen = strlen(port); + keylen = (socklen_t)strlen(key); + portlen = (socklen_t)strlen(port); switch (sa.ss.ss_family) { case AF_INET: @@ -396,8 +396,8 @@ static void prep_diag_args( nladdr->nl_family = AF_NETLINK; - req->nlh.nlmsg_len = sizeof(struct diag_req) + - RTA_LENGTH(args->iov[2].iov_len); + req->nlh.nlmsg_len = (unsigned int)(sizeof(struct diag_req) + + RTA_LENGTH(args->iov[2].iov_len)); req->nlh.nlmsg_type = TCPDIAG_GETSOCK; req->nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST; req->nlh.nlmsg_pid = getpid(); -- EW