Tilghman Lesher 
							
						 
					 
					
						
						
							
						
						bfc0d3b795 
					 
					
						
						
							
							Add MALLOC_DEBUG to various utility APIs, so that memory leaks can be tracked back to their source.  
						
						... 
						
						
						
						(related to issue #14636 )
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181028  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2009-03-11 00:29:59 +00:00 
						 
				 
			
				
					
						
							
							
								Sean Bright 
							
						 
					 
					
						
						
							
						
						935185ce8a 
					 
					
						
						
							
							Trailing whitespace, minor coding guideline fixes, and start beefing up the  
						
						... 
						
						
						
						hashtab documentation a bit.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177884  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2009-02-21 14:16:44 +00:00 
						 
				 
			
				
					
						
							
							
								Tilghman Lesher 
							
						 
					 
					
						
						
							
						
						d5837ba8c2 
					 
					
						
						
							
							Add additional memory debugging to several core APIs, and fix several memory  
						
						... 
						
						
						
						leaks found with these changes.
(Closes issue #13505 , closes issue #13543 )
Reported by: mav3rick, triccyx
 Patches: 
       20081001__bug13505.diff.txt uploaded by Corydon76 (license 14)
 Tested by: mav3rick, triccyx
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@149199  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2008-10-14 22:38:06 +00:00 
						 
				 
			
				
					
						
							
							
								Brett Bryant 
							
						 
					 
					
						
						
							
						
						86e5bb8b7d 
					 
					
						
						
							
							Fix magic Revision keywords in hashtab.c and change cdr_radius.c to use  
						
						... 
						
						
						
						the same keyword as the other files (patch by eliel).
(closes issue #13104 )
Reported by: eliel
Patches:
      revision.patch uploaded by eliel (license 64)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@132050  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2008-07-18 17:55:41 +00:00 
						 
				 
			
				
					
						
							
							
								Russell Bryant 
							
						 
					 
					
						
						
							
						
						7205c1f23c 
					 
					
						
						
							
							Make it so you don't have to cast away const in a couple places  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105594  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2008-03-04 04:47:32 +00:00 
						 
				 
			
				
					
						
							
							
								Russell Bryant 
							
						 
					 
					
						
						
							
						
						83002989a9 
					 
					
						
						
							
							remove unnecessary casts  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105593  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2008-03-04 04:44:28 +00:00 
						 
				 
			
				
					
						
							
							
								Steve Murphy 
							
						 
					 
					
						
						
							
						
						72cafad6a2 
					 
					
						
						
							
							A small fix from snuffy  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90746  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-12-03 23:49:40 +00:00 
						 
				 
			
				
					
						
							
							
								Steve Murphy 
							
						 
					 
					
						
						
							
						
						d3209e2ef2 
					 
					
						
						
							
							closes issue  #11356 ; Many thanks to snuffy for his code review and changes to cut down duplication. I tested this against hashtest, and it passes. I reviewed the changes, and they look reasonable. I had to remove a few const decls to make things compile on my workstation,  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89591  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-26 17:26:01 +00:00 
						 
				 
			
				
					
						
							
							
								Luigi Rizzo 
							
						 
					 
					
						
						
							
						
						e0ff5fef5c 
					 
					
						
						
							
							remove a bunch of useless #include "options.h"  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89511  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-21 23:09:02 +00:00 
						 
				 
			
				
					
						
							
							
								Steve Murphy 
							
						 
					 
					
						
						
							
						
						4670e38aac 
					 
					
						
						
							
							closes issue  #11265 ; Thanks to snuffy for his work on neatening up the code and removing duplicated code.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89478  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-21 15:11:43 +00:00 
						 
				 
			
				
					
						
							
							
								Luigi Rizzo 
							
						 
					 
					
						
						
							
						
						9335ace850 
					 
					
						
						
							
							another bunch of include removals (errno.h and asterisk/logger.h)  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89425  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-19 19:09:03 +00:00 
						 
				 
			
				
					
						
							
							
								Luigi Rizzo 
							
						 
					 
					
						
						
							
						
						fdb7f7ba3d 
					 
					
						
						
							
							Start untangling header inclusion in a way that does not affect  
						
						... 
						
						
						
						build times - tested, there is no measureable difference before and
after this commit.
In this change:
use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h
Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.
Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 
For the time being I have left alone second-level directories
(main/db1-ast, etc.).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-16 20:04:58 +00:00 
						 
				 
			
				
					
						
							
							
								Russell Bryant 
							
						 
					 
					
						
						
							
						
						d3414c7552 
					 
					
						
						
							
							Fix up various coding guidelines issues ...  
						
						... 
						
						
						
						- handle memory allocation failures
 - add an ast_ prefix to a publicly exported function
 - put curly braces in the right places
 - add a bunch of spaces where they should be be used
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89266  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-14 03:22:09 +00:00 
						 
				 
			
				
					
						
							
							
								Steve Murphy 
							
						 
					 
					
						
						
							
						
						fd1fbb0223 
					 
					
						
						
							
							Thanks to snuff-work, who brought up that these fixes might need to be made.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89196  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-12 20:49:27 +00:00 
						 
				 
			
				
					
						
							
							
								Steve Murphy 
							
						 
					 
					
						
						
							
						
						a897556f7f 
					 
					
						
						
							
							This is the perhaps the biggest, boldest, most daring change I've ever committed to trunk. Forgive me in advance any disruption this may cause, and please, report any problems via the bugtracker. The upside is that this can speed up large dialplans by 20 times (or more). Context, extension, and priority matching are all fairly constant-time searches.  I introduce here my hashtables (hashtabs), and a regression for them. I would have used the ast_obj2 tables, but mine are resizeable, and don't need the object destruction capability. The hashtab stuff is well tested and stable. I introduce a data structure, a trie, for extension pattern matching, in which knowledge of all patterns is accumulated, and all matches can be found via a single traversal of the tree. This is per-context. The trie is formed on the first lookup attempt, and stored in the context for future lookups. Destruction routines are in place for hashtabs and the pattern match trie. You can see the contents of the pattern match trie by using the 'dialplan show' cli command when 'core set debug' has been done to put it in debug mode. The pattern tree traversal only traverses those parts of the tree that are interesting. It uses a scoreboard sort of approach to find the best match. The speed of the traversal is more a function of the length of the pattern than the number of patterns in the tree. The tree also contains the CID matching patterns. See the source code comments for details on how everything works. I believe the approach general enough that any issues that might come up involving fine points in the pattern matching algorithm, can be solved by just tweaking things. We shall see. The current pattern matcher is fairly involved, and replicating every nuance of it is difficult. If you find and report problems, I will try to resolve than as quickly as I can. The trie and hashtabs are added to the existing context and exten structs, and none of the old machinery has been removed for the sake of the multitude of functions that use them. In the future, we can (maybe) weed out the linked lists and save some space.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89129  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-09 16:00:22 +00:00