[svn-commits] tilghman: trunk r246200 - /trunk/funcs/func_strings.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed Feb 10 15:19:38 CST 2010


Author: tilghman
Date: Wed Feb 10 15:19:35 2010
New Revision: 246200

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=246200
Log:
Fix weird issue with unit tests on optimized build - turned out to be a signing issue.

Modified:
    trunk/funcs/func_strings.c

Modified: trunk/funcs/func_strings.c
URL: http://svnview.digium.com/svn/asterisk/trunk/funcs/func_strings.c?view=diff&rev=246200&r1=246199&r2=246200
==============================================================================
--- trunk/funcs/func_strings.c (original)
+++ trunk/funcs/func_strings.c Wed Feb 10 15:19:35 2010
@@ -591,7 +591,8 @@
 			     AST_APP_ARG(allowed);
 			     AST_APP_ARG(string);
 	);
-	char *outbuf = buf, ac;
+	char *outbuf = buf;
+	unsigned char ac;
 	char allowed[256] = "";
 	size_t allowedlen = 0;
 	int32_t bitfield[8] = { 0, }; /* 256 bits */
@@ -608,7 +609,7 @@
 	}
 
 	/* Expand ranges */
-	for (; *(args.allowed) && allowedlen < sizeof(allowed); ) {
+	for (; *(args.allowed);) {
 		char c1 = 0, c2 = 0;
 		size_t consumed = 0;
 
@@ -632,13 +633,13 @@
 			for (ac = c1; ac != c2; ac++) {
 				bitfield[ac / 32] |= 1 << (ac % 32);
 			}
+			bitfield[ac / 32] |= 1 << (ac % 32);
 
 			ast_debug(4, "c1=%d, c2=%d\n", c1, c2);
-
-			/* Decrement before the loop increment */
-			(args.allowed)--;
 		} else {
-			bitfield[c1 / 32] |= 1 << (c1 % 32);
+			ac = (unsigned char) c1;
+			ast_debug(4, "c1=%d, consumed=%d, args.allowed=%s\n", c1, consumed, args.allowed - consumed);
+			bitfield[ac / 32] |= 1 << (ac % 32);
 		}
 	}
 




More information about the svn-commits mailing list