[Asterisk-cvs] asterisk channel.c,1.166,1.167 utils.c,1.25,1.26

markster at lists.digium.com markster at lists.digium.com
Sat Jan 15 15:48:07 CST 2005


Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv4629

Modified Files:
	channel.c utils.c 
Log Message:
Make groups be 64-bits (bug #3351, with mods)


Index: channel.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channel.c,v
retrieving revision 1.166
retrieving revision 1.167
diff -u -d -r1.166 -r1.167
--- channel.c	15 Jan 2005 06:37:51 -0000	1.166
+++ channel.c	15 Jan 2005 21:51:37 -0000	1.167
@@ -3033,13 +3033,13 @@
 	return 0;
 }
 
-unsigned int ast_get_group(char *s)
+ast_group_t ast_get_group(char *s)
 {
 	char *copy;
 	char *piece;
 	char *c=NULL;
 	int start=0, finish=0,x;
-	unsigned int group = 0;
+	ast_group_t group = 0;
 	copy = ast_strdupa(s);
 	if (!copy) {
 		ast_log(LOG_ERROR, "Out of memory\n");
@@ -3058,8 +3058,8 @@
 			continue;
 		}
 		for (x=start;x<=finish;x++) {
-			if ((x > 31) || (x < 0)) {
-				ast_log(LOG_WARNING, "Ignoring invalid group %d (maximum group is 31)\n", x);
+			if ((x > 63) || (x < 0)) {
+				ast_log(LOG_WARNING, "Ignoring invalid group %d (maximum group is 63)\n", x);
 			} else
 				group |= (1 << x);
 		}
@@ -3118,3 +3118,29 @@
 {
 	ast_cli_register(&cli_show_channeltypes);
 }
+
+/*--- ast_print_group: Print call group and pickup group ---*/
+char *ast_print_group(char *buf, int buflen, ast_group_t group) 
+{
+	unsigned int i;
+	int first=1;
+	char num[3];
+
+	buf[0] = '\0';
+	
+	if (!group)	/* Return empty string if no group */
+		return(buf);
+
+	for (i=0; i<=63; i++) {	/* Max group is 63 */
+		if (group & (1 << i)) {
+	   		if (!first) {
+				strncat(buf, ", ", buflen);
+			} else {
+				first=0;
+	  		}
+			snprintf(num, sizeof(num), "%u", i);
+			strncat(buf, num, buflen);
+		}
+	}
+	return(buf);
+}

Index: utils.c
===================================================================
RCS file: /usr/cvsroot/asterisk/utils.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- utils.c	8 Jan 2005 18:54:30 -0000	1.25
+++ utils.c	15 Jan 2005 21:51:37 -0000	1.26
@@ -430,30 +430,3 @@
 	}
 }
 #endif
-
-
-/*--- ast_print_group: Print call group and pickup group ---*/
-char *ast_print_group(char *buf, int buflen, unsigned int group) 
-{
-	unsigned int i;
-	int first=1;
-	char num[3];
-
-	buf[0] = '\0';
-	
-	if (!group)	/* Return empty string if no group */
-		return(buf);
-
-	for (i=0; i<=31; i++) {	/* Max group is 31 */
-		if (group & (1 << i)) {
-	   		if (!first) {
-				strncat(buf, ", ", buflen);
-			} else {
-				first=0;
-	  		}
-			snprintf(num, sizeof(num), "%u", i);
-			strncat(buf, num, buflen);
-		}
-    	}
-	return(buf);
-}




More information about the svn-commits mailing list