Commit Graph

59 Commits (522593f901baff3f1ba334ecaad9eefd6a9c9316)

Author SHA1 Message Date
Kinsey Moore 9b16c8b0f6 Clean up and ensure proper usage of alloca()
13 years ago
Tilghman Lesher 6190ae4430 Allow the REALTIME() function to report errors back to the caller.
13 years ago
Kevin P. Fleming 166b4e2b30 Multiple revisions 369001-369002
13 years ago
Richard Mudgett dd2427c141 Coverity Report: Fix issues for error type REVERSE_INULL (core modules)
13 years ago
Kinsey Moore dd81b047db Resolve FORWARD_NULL static analysis warnings
13 years ago
Jonathan Rose 8227f70cd7 Coverity Report: Fix issues for error type CHECKED_RETURN for core
13 years ago
Russell Bryant cad07b3800 Multiple revisions 360356-360357
13 years ago
Tilghman Lesher 9af5c769c3 Enable macros in 1.8 to find the next highest "h" extension in a context, like in 1.4.
13 years ago
Tilghman Lesher 8cca4ed8d8 Merged revisions 299449 via svnmerge from
15 years ago
Tilghman Lesher d07eca63b6 Merged revisions 293197 via svnmerge from
15 years ago
Tilghman Lesher bddb242d72 Merged revisions 290255 via svnmerge from
15 years ago
Tilghman Lesher 9ec4987d3b Ensure a NULL file while debugging cannot crash AEL.
15 years ago
Jeff Peeler b3281ac725 Merged revisions 271552 via svnmerge from
15 years ago
Jeff Peeler 54f2dfc91c Merged revisions 271399 via svnmerge from
15 years ago
Leif Madsen c17cda109a Revert previous WARNING message removal.
15 years ago
Leif Madsen 881450ec82 Remove unnecessary WARNING message in ael/pval.c
15 years ago
Tilghman Lesher 78012e4f71 When we call a gosub routine, the variables should be scoped to avoid contaminating the caller.
16 years ago
Tilghman Lesher 642bec4d6f AST-2009-005
16 years ago
David Vossel dcfe69ec64 fixes some memory leaks and redundant conditions
16 years ago
Sean Bright e742390706 Merged revisions 189462 via svnmerge from
16 years ago
Steve Murphy 6c2a537c5f Merged revisions 177225 via svnmerge from
16 years ago
Steve Murphy bdfda9ea23 Merged revisions 168745 via svnmerge from
17 years ago
Steve Murphy 08225b9f7a Merged revisions 162264 via svnmerge from
17 years ago
Steve Murphy 24395ed5c7 Merged revisions 162136 via svnmerge from
17 years ago
Steve Murphy 67cb0526b7 Merged revisions 162013 via svnmerge from
17 years ago
Sean Bright 574f2daa2a Fix one case where the application argument was not converted from a pipe to
17 years ago
Kevin P. Fleming c054d798b8 don't blindly assume that Darwin and Cygwin need GLOB_ABORTED defined; only define it if it is not already defined
17 years ago
Kevin P. Fleming bd4eb070f3 bring over all the fixes for the warnings found by gcc 4.3.x from the 1.4 branch, and add the ones needed for all the new code here too
17 years ago
Steve Murphy ec25f4be4d Merged revisions 141094 via svnmerge from
17 years ago
Steve Murphy 068859119a In these changes, I have added some explanation
17 years ago
Steve Murphy d78f79d82c Oops. put a decl in a generated file. My bad, but fixed now.
17 years ago
Steve Murphy 04795d963f These changes are in regards to bug 13249, where users are being surprised by the changes made
17 years ago
Sean Bright 357bf3e90b All of the res/ stuff (other than res_jabber) from the RSW branch.
17 years ago
Steve Murphy a40f1cc1c5 Merged revisions 136726 via svnmerge from
17 years ago
Steve Murphy 37001f58ff Merged revisions 131242 via svnmerge from
17 years ago
Steve Murphy 7372474c94 Merged revisions 119929 via svnmerge from
17 years ago
Steve Murphy 2427603eaf Merged revisions 111341 via svnmerge from
17 years ago
Steve Murphy 4e29ae8806 Merged revisions 109309 via svnmerge from
17 years ago
Steve Murphy 377e51c4d4 (closes issue #6002)
17 years ago
Steve Murphy 3f152e5ff0 Merged revisions 97889 via svnmerge from
18 years ago
Steve Murphy ab92fc1f35 made AEL 8-bit transparent; mainly the lexer was tossing chars with the hi-order bit set. Not nice. Also, allow @ in extension names, and a backslash, also.
18 years ago
Luigi Rizzo 51391e6b09 shuffle a little bit the content of header files to reduce dependencies.
18 years ago
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.
18 years ago
Steve Murphy 63f2f04cf4 This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
18 years ago
Steve Murphy 8c5bf67f4a Merged revisions 87775 via svnmerge from
18 years ago
Steve Murphy c9f3efc381 Merged revisions 87168 via svnmerge from
18 years ago
Steve Murphy b7ef49c931 closes issue #11005, where #include uses the current dir instead of the config dir (/etc/asterisk) for relative path includes for AEL
18 years ago
Steve Murphy d914cbee48 Merged revisions 86936 via svnmerge from
18 years ago
Steve Murphy 3ffa04bbd3 Merged revisions 84511 via svnmerge from
18 years ago
Steve Murphy b3168a76c9 Merged revisions 84239 via svnmerge from
18 years ago