diff libfdproto/utils.c @ 1085:7d7266115a34

Cleaning of the traces in progress
author Sebastien Decugis <sdecugis@freediameter.net>
date Fri, 03 May 2013 19:20:56 +0800
parents 6b7966ea27fb
children 44f3e48dfe27
line wrap: on
line diff
--- a/libfdproto/utils.c	Fri May 03 15:33:57 2013 +0800
+++ b/libfdproto/utils.c	Fri May 03 19:20:56 2013 +0800
@@ -35,33 +35,44 @@
 
 #include "fdproto-internal.h"
 
-char * fd_sa_dump_node(char * buf, size_t bufsize, sSA * sa, int flags) 
+DECLARE_FD_DUMP_PROTOTYPE(fd_sa_dump_node, sSA * sa, int flags)
 {
 	char addrbuf[INET6_ADDRSTRLEN];
+	size_t o = 0;
+	if (!offset)
+		offset = &o;
+	
 	if (sa) {
 		int rc = getnameinfo(sa, sSAlen( sa ), addrbuf, sizeof(addrbuf), NULL, 0, flags);
-		if (rc)
-			snprintf(buf, bufsize, "%s", gai_strerror(rc));
-		else
-			snprintf(buf, bufsize, "%s", &addrbuf[0]);
+		if (rc) {
+			CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", gai_strerror(rc)), return NULL);
+		} else {
+			CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", &addrbuf[0]), return NULL);
+		}
 	} else {
-		snprintf(buf, bufsize, "(NULL / ANY)");
+		CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "(NULL / ANY)"), return NULL);
 	}
-	return buf;
+	
+	return *buf;
 }
 
-char * fd_sa_dump_node_serv(char * buf, size_t bufsize, sSA * sa, int flags) 
+DECLARE_FD_DUMP_PROTOTYPE(fd_sa_dump_node_serv, sSA * sa, int flags) 
 {
 	char addrbuf[INET6_ADDRSTRLEN];
 	char servbuf[32];
+	size_t o = 0;
+	if (!offset)
+		offset = &o;
+	
 	if (sa) {
 		int rc = getnameinfo(sa, sSAlen( sa ), addrbuf, sizeof(addrbuf), servbuf, sizeof(servbuf), flags);
-		if (rc)
-			snprintf(buf, bufsize, "%s", gai_strerror(rc));
-		else
-			snprintf(buf, bufsize, "%s", &addrbuf[0]);
+		if (rc) {
+			CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", gai_strerror(rc)), return NULL);
+		} else {
+			CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", &addrbuf[0]), return NULL);
+		}
 	} else {
-		snprintf(buf, bufsize, "(NULL / ANY)");
+		CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "(NULL / ANY)"), return NULL);
 	}
-	return buf;
+	return *buf;
 }
"Welcome to our mercurial repository"