[netfilter-cvslog] r6864 - trunk/libnetfilter_conntrack/src/expect

pablo at netfilter.org pablo at netfilter.org
Thu Jun 7 19:05:46 CEST 2007


Author: pablo at netfilter.org
Date: 2007-06-07 19:05:46 +0200 (Thu, 07 Jun 2007)
New Revision: 6864

Modified:
   trunk/libnetfilter_conntrack/src/expect/snprintf.c
   trunk/libnetfilter_conntrack/src/expect/snprintf_default.c
Log:
nfexp_snprintf behaves as snprintf C99


Modified: trunk/libnetfilter_conntrack/src/expect/snprintf.c
===================================================================
--- trunk/libnetfilter_conntrack/src/expect/snprintf.c	2007-06-07 16:53:56 UTC (rev 6863)
+++ trunk/libnetfilter_conntrack/src/expect/snprintf.c	2007-06-07 17:05:46 UTC (rev 6864)
@@ -26,8 +26,7 @@
 	}
 
 	/* NULL terminated string */
-	if (snprintf(buf+size, len-size, "\0") == -1)
-		return -1;
+	buf[size+1 > len ? len-1 : size] = '\0';
 
 	return size;
 }

Modified: trunk/libnetfilter_conntrack/src/expect/snprintf_default.c
===================================================================
--- trunk/libnetfilter_conntrack/src/expect/snprintf_default.c	2007-06-07 16:53:56 UTC (rev 6863)
+++ trunk/libnetfilter_conntrack/src/expect/snprintf_default.c	2007-06-07 17:05:46 UTC (rev 6864)
@@ -17,43 +17,31 @@
 }
 
 int __snprintf_expect_default(char *buf, 
-			      unsigned int remain,
+			      unsigned int len,
 			      const struct nf_expect *exp,
 			      unsigned int msg_type,
 			      unsigned int flags) 
 {
-	int ret = 0, size = 0;
+	int ret = 0, size = 0, offset = 0;
 
 	switch(msg_type) {
 		case NFCT_T_NEW:
-			ret = snprintf(buf, remain, "%9s ", "[NEW]");
+			ret = snprintf(buf, len, "%9s ", "[NEW]");
 			break;
 		default:
 			break;
 	}
 
-	if (ret == -1)
-		return -1;
-	size += ret;
-	remain -= ret;
+	BUFFER_SIZE(ret, size, len, offset);
 
-	ret = __snprintf_expect_proto(buf+size, remain, exp);
-	if (ret == -1)
-		return -1;
-	size += ret;
-	remain -= ret;
+	ret = __snprintf_expect_proto(buf+offset, len, exp);
+	BUFFER_SIZE(ret, size, len, offset);
 
-	ret = __snprintf_address(buf+size, remain, &exp->expected.tuple[__DIR_ORIG]);
-	if (ret == -1)
-		return -1;
-	size += ret;
-	remain -= ret;
+	ret = __snprintf_address(buf+offset, len, &exp->expected.tuple[__DIR_ORIG]);
+	BUFFER_SIZE(ret, size, len, offset);
 
-	ret = __snprintf_proto(buf+size, remain, &exp->expected.tuple[__DIR_ORIG]);
-	if (ret == -1)
-		return -1;
-	size += ret;
-	remain -= ret;
+	ret = __snprintf_proto(buf+offset, len, &exp->expected.tuple[__DIR_ORIG]);
+	BUFFER_SIZE(ret, size, len, offset);
 
 	/* Delete the last blank space */
 	size--;




More information about the netfilter-cvslog mailing list