Fix "implicit conversion shortens 64-bit value into a 32-bit value" warnings.
 -- 2009-09-11, alex@barton.de

 src/ipaddr/ng_ipaddr.c |    3 ++-
 src/ipaddr/ng_ipaddr.h |    5 ++---
 src/ngircd/channel.c   |    2 +-
 src/ngircd/conf.c      |    8 ++++----
 src/ngircd/conn.c      |   10 ++++++----
 src/ngircd/conn.h      |    5 +++--
 src/ngircd/hash.c      |    7 ++++---
 src/ngircd/irc-info.c  |    4 ++--
 src/ngircd/resolve.c   |    7 ++++---
 src/tool/tool.c        |   15 +++++++++------
 10 files changed, 37 insertions(+), 29 deletions(-)

diff --git a/src/ipaddr/ng_ipaddr.c b/src/ipaddr/ng_ipaddr.c
index b412cc8..0367a1f 100644
--- a/src/ipaddr/ng_ipaddr.c
+++ b/src/ipaddr/ng_ipaddr.c
@@ -151,7 +151,8 @@ ng_ipaddr_tostr_r(const ng_ipaddr_t *addr, char *str)
 	if (*str == ':') {
 		char tmp[NG_INET_ADDRSTRLEN] = "0";
 		ret = getnameinfo(sa, ng_ipaddr_salen(addr),
-				tmp+1, sizeof(tmp) -1, NULL, 0, NI_NUMERICHOST);
+				  tmp + 1, (socklen_t)sizeof(tmp) - 1,
+				  NULL, 0, NI_NUMERICHOST);
 		if (ret == 0)
 			strlcpy(str, tmp, NG_INET_ADDRSTRLEN);
 	}
diff --git a/src/ipaddr/ng_ipaddr.h b/src/ipaddr/ng_ipaddr.h
index 6490a07..32b1ec0 100644
--- a/src/ipaddr/ng_ipaddr.h
+++ b/src/ipaddr/ng_ipaddr.h
@@ -58,10 +58,10 @@ ng_ipaddr_salen(const ng_ipaddr_t *a)
 #ifdef WANT_IPV6
 	assert(a->sa.sa_family == AF_INET || a->sa.sa_family == AF_INET6);
 	if (a->sa.sa_family == AF_INET6)
-		return sizeof(a->sin6);
+		return (socklen_t)sizeof(a->sin6);
 #endif
 	assert(a->sin4.sin_family == AF_INET);
-	return sizeof(a->sin4);
+	return (socklen_t)sizeof(a->sin4);
 }
 
 
@@ -115,4 +115,3 @@ ng_ipaddr_tostr_r(const ng_ipaddr_t *addr, char *d)
 #endif
 
 /* -eof- */
-
diff --git a/src/ngircd/channel.c b/src/ngircd/channel.c
index 6f85072..6e9e0f4 100644
--- a/src/ngircd/channel.c
+++ b/src/ngircd/channel.c
@@ -1085,7 +1085,7 @@ Channel_CheckKey(CHANNEL *Chan, CLIENT *Client, const char *Key)
 		return false;
 	}
 
-	while (fgets(line, sizeof(line), fd) != NULL) {
+	while (fgets(line, (int)sizeof(line), fd) != NULL) {
 		ngt_TrimStr(line);
 		if (! (nick = strchr(line, ':')))
 			continue;
diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c
index 1d1bb48..71f0fe8 100644
--- a/src/ngircd/conf.c
+++ b/src/ngircd/conf.c
@@ -1,6 +1,6 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2008 Alexander Barton (alex@barton.de)
+ * Copyright (c)2001-2009 Alexander Barton (alex@barton.de)
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -152,8 +152,8 @@ ports_parse(array *a, int Line, char *Arg)
 	 * must be separated by "," */
 	ptr = strtok( Arg, "," );
 	while (ptr) {
-		ngt_TrimStr( ptr );
-		port = atol( ptr );
+		ngt_TrimStr(ptr);
+		port = atoi(ptr);
 		if (port > 0 && port < 0xFFFF) {
 			port16 = (UINT16) port;
 			if (!array_catb(a, (char*)&port16, sizeof port16))
@@ -545,7 +545,7 @@ Set_Defaults( bool InitServers )
 static bool
 no_listenports(void)
 {
-	unsigned int cnt = array_bytes(&Conf_ListenPorts);
+	size_t cnt = array_bytes(&Conf_ListenPorts);
 #ifdef SSL_SUPPORT
 	cnt += array_bytes(&Conf_SSLOptions.ListenPorts);
 #endif
diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c
index 06d655b..d6ad1e7 100644
--- a/src/ngircd/conn.c
+++ b/src/ngircd/conn.c
@@ -1,6 +1,6 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2007 Alexander Barton (alex@barton.de)
+ * Copyright (c)2001-2009 Alexander Barton (alex@barton.de)
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -155,7 +155,7 @@ cb_connserver(int sock, UNUSED short what)
 	assert( what & IO_WANTWRITE);
 
 	/* connect() finished, get result. */
-	sock_len = sizeof( err );
+	sock_len = (socklen_t)sizeof(err);
 	res = getsockopt( My_Connections[idx].sock, SOL_SOCKET, SO_ERROR, &err, &sock_len );
 	assert( sock_len == sizeof( err ));
 
@@ -485,7 +485,7 @@ set_v6_only(int af, int sock)
 	if (af != AF_INET6)
 		return;
 
-	if (setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on)))
+	if (setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, &on, (socklen_t)sizeof(on)))
 		Log(LOG_ERR, "Could not set IPV6_V6ONLY: %s", strerror(errno));
 #else
 	(void)af;
@@ -1518,7 +1518,7 @@ Handle_Buffer(CONN_ID Idx)
 			return 0;
 		}
 
-		len_processed += len;
+		len_processed += (unsigned int)len;
 		if (len <= delta) {
 			/* Request is empty (only '\r\n', '\r' or '\n');
 			 * delta is 2 ('\r\n') or 1 ('\r' or '\n'), see above */
@@ -2000,4 +2000,6 @@ Conn_UsesSSL(CONN_ID Idx)
 	return Conn_OPTION_ISSET(&My_Connections[Idx], CONN_SSL);
 }
 #endif
+
+
 /* -eof- */
diff --git a/src/ngircd/conn.h b/src/ngircd/conn.h
index 5e91402..983c884 100644
--- a/src/ngircd/conn.h
+++ b/src/ngircd/conn.h
@@ -1,6 +1,6 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2008 by Alexander Barton (alex@barton.de)
+ * Copyright (c)2001-2009 by Alexander Barton (alex@barton.de)
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -41,7 +41,7 @@
 #define CONN_SSL_WANT_READ	128	/* SSL/TLS library needs to read protocol data */
 #define CONN_SSL_FLAGS_ALL	(CONN_SSL_CONNECT|CONN_SSL|CONN_SSL_WANT_WRITE|CONN_SSL_WANT_READ)
 #endif
-typedef int CONN_ID;
+typedef long CONN_ID;
 
 #include "client.h"
 
@@ -122,4 +122,5 @@ static inline bool Conn_UsesSSL(UNUSED CONN_ID Idx) { return false; }
 #endif
 #endif
 
+
 /* -eof- */
diff --git a/src/ngircd/hash.c b/src/ngircd/hash.c
index d9aa79b..1b2f4e6 100644
--- a/src/ngircd/hash.c
+++ b/src/ngircd/hash.c
@@ -1,6 +1,6 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
+ * Copyright (c)2001-2009 Alexander Barton (alex@barton.de)
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -37,8 +37,9 @@ Hash( const char *String )
 
 	char buffer[LINE_LEN];
 
-	strlcpy( buffer, String, sizeof( buffer ));
-	return jenkins_hash( (UINT8 *)ngt_LowerStr( buffer ), strlen( buffer ), 42 );
+	strlcpy(buffer, String, sizeof(buffer));
+	return jenkins_hash((UINT8 *)ngt_LowerStr(buffer),
+			    (UINT32)strlen(buffer), 42);
 } /* Hash */
 
 
diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c
index f57a6a1..5a8555a 100644
--- a/src/ngircd/irc-info.c
+++ b/src/ngircd/irc-info.c
@@ -1,6 +1,6 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2008 Alexander Barton (alex@barton.de)
+ * Copyright (c)2001-2009 Alexander Barton (alex@barton.de)
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -440,7 +440,7 @@ t_diff(time_t *t, const time_t d)
 	remain = diff * d;
 	*t -= remain;
 
-	return diff;
+	return (unsigned int)diff;
 }
 
 
diff --git a/src/ngircd/resolve.c b/src/ngircd/resolve.c
index e7f73ad..20077a4 100644
--- a/src/ngircd/resolve.c
+++ b/src/ngircd/resolve.c
@@ -1,6 +1,6 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2003 by Alexander Barton (alex@barton.de)
+ * Copyright (c)2001-2009 by Alexander Barton (alex@barton.de)
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -218,7 +218,7 @@ ReverseLookup(const ng_ipaddr_t *IpAddr, char *resbuf, size_t reslen)
 	*resbuf = 0;
 
 	res = getnameinfo((struct sockaddr *) IpAddr, ng_ipaddr_salen(IpAddr),
-				resbuf, reslen, NULL, 0, NI_NAMEREQD);
+			  resbuf, (socklen_t)reslen, NULL, 0, NI_NAMEREQD);
 	if (res == 0)
 		return true;
 
@@ -540,5 +540,6 @@ Resolve_Read( RES_STAT *s, void* readbuf, size_t buflen)
 	Resolve_Shutdown(s);
 	return (size_t)bytes_read;
 }
-/* -eof- */
 
+
+/* -eof- */
diff --git a/src/tool/tool.c b/src/tool/tool.c
index a24c160..c973539 100644
--- a/src/tool/tool.c
+++ b/src/tool/tool.c
@@ -1,6 +1,6 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2008 Alexander Barton (alex@barton.de)
+ * Copyright (c)2001-2009 Alexander Barton (alex@barton.de)
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -107,16 +107,19 @@ ngt_TrimLastChr( char *String, const char Chr)
 	/* If last character in the string matches Chr, remove it.
 	 * Empty strings are handled correctly. */
 
-        unsigned int len;
+	size_t len;
 
-	assert( String != NULL );
+	assert(String != NULL);
 
-	len = strlen( String );
-	if( len == 0 ) return;
+	len = strlen(String);
+	if(len == 0)
+		return;
 
 	len--;
 
-	if( String[len] == Chr ) String[len] = '\0';
+	if(String[len] == Chr)
+		String[len] = '\0';
 } /* ngt_TrimLastChr */
 
+
 /* -eof- */
