mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	code clean up and macro implementation from
bug 6247 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		
							
								
								
									
										20
									
								
								manager.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								manager.c
									
									
									
									
									
								
							| @@ -320,23 +320,27 @@ struct ast_variable *astman_get_variables(struct message *m) | ||||
| 	int varlen, x, y; | ||||
| 	struct ast_variable *head = NULL, *cur; | ||||
| 	char *var, *val; | ||||
| 	unsigned int var_count; | ||||
|         char *vars[32]; | ||||
| 	 | ||||
|  | ||||
| 	char *parse;     | ||||
| 	AST_DECLARE_APP_ARGS(args, | ||||
| 		AST_APP_ARG(vars)[32]; | ||||
| 	); | ||||
|  | ||||
| 	varlen = strlen("Variable: ");	 | ||||
|  | ||||
| 	for (x = 0; x < m->hdrcount; x++) { | ||||
| 		if (strncasecmp("Variable: ", m->headers[x], varlen)) | ||||
| 			continue; | ||||
|  | ||||
| 		if (!(var = ast_strdupa(m->headers[x] + varlen))) | ||||
| 		if (!(parse = ast_strdupa(m->headers[x] + varlen))) | ||||
| 			return head; | ||||
|  | ||||
| 		if ((var_count = ast_app_separate_args(var, '|', vars, sizeof(vars) / sizeof(vars[0])))) { | ||||
| 			for (y = 0; y < var_count; y++) { | ||||
| 				if (!vars[y]) | ||||
| 		AST_STANDARD_APP_ARGS(args, parse); | ||||
| 		if (args.argc) { | ||||
| 			for (y = 0; y < args.argc; y++) { | ||||
| 				if (!args.vars[y]) | ||||
| 					continue; | ||||
| 				var = val = ast_strdupa(vars[y]); | ||||
| 				var = val = ast_strdupa(args.vars[y]); | ||||
| 				strsep(&val, "="); | ||||
| 				if (!val || ast_strlen_zero(var)) | ||||
| 					continue; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user