diff freeDiameter/sctp.c @ 227:80a7e65167c4

Cleanup verbosity and fix unintialized variable
author Sebastien Decugis <sdecugis@nict.go.jp>
date Tue, 02 Mar 2010 14:17:15 +0900
parents c8ad11effa95
children dcb58243e91f
line wrap: on
line diff
--- a/freeDiameter/sctp.c	Tue Mar 02 11:19:11 2010 +0900
+++ b/freeDiameter/sctp.c	Tue Mar 02 14:17:15 2010 +0900
@@ -840,11 +840,27 @@
 	}
 	
 #ifdef SCTP_CONNECTX_4_ARGS
-	CHECK_SYS_DO( sctp_connectx(*sock, sar.sa, count, NULL), { ret = errno; goto fail; } );
+	ret = sctp_connectx(*sock, sar.sa, count, NULL);
 #else /* SCTP_CONNECTX_4_ARGS */
-	CHECK_SYS_DO( sctp_connectx(*sock, sar.sa, count), { ret = errno; goto fail; } );
+	ret = sctp_connectx(*sock, sar.sa, count);
 #endif /* SCTP_CONNECTX_4_ARGS */
 	
+	if (ret < 0) {
+		int lvl;
+		switch (ret = errno) {
+			case ECONNREFUSED:
+			
+				/* "Normal" errors */
+				lvl = FULL;
+				break;
+			default:
+				lvl = INFO;
+		}
+		/* Some errors are expected, we log at different level */
+		TRACE_DEBUG( lvl, "sctp_connectx returned an error: %s", strerror(ret));
+		goto fail;
+	}
+	
 	free(sar.buf); sar.buf = NULL;
 	
 	/* Set the remaining sockopts */
"Welcome to our mercurial repository"