Commit Graph

226 Commits

Author SHA1 Message Date
Kevin P. Fleming
ccc3bcfb67 Merged revisions 144949-144951 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r144949 | kpfleming | 2008-09-27 10:52:56 -0500 (Sat, 27 Sep 2008) | 17 lines
  
  Merged revisions 144924-144925 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r144924 | kpfleming | 2008-09-27 10:00:48 -0500 (Sat, 27 Sep 2008) | 6 lines
    
    improve header inclusion process in a few small ways:
    
      - it is no longer necessary to forcibly include asterisk/autoconfig.h; every module already includes asterisk.h as its first header (even before system headers), which serves the same purpose
      - astmm.h is now included by asterisk.h when needed, instead of being forced by the Makefile; this means external modules will build properly against installed headers with MALLOC_DEBUG enabled
      - simplify the usage of some of these headers in the AEL-related stuff in the utils directory
  ........
    r144925 | kpfleming | 2008-09-27 10:13:30 -0500 (Sat, 27 Sep 2008) | 2 lines
    
    fix some minor issues with rev 144924
  ........
................
  r144950 | kpfleming | 2008-09-27 11:10:33 -0500 (Sat, 27 Sep 2008) | 2 lines
  
  fix bugs caused by r144949 when MALLOC_DEBUG is defined
................
  r144951 | kpfleming | 2008-09-27 11:17:43 -0500 (Sat, 27 Sep 2008) | 1 line
  
  remove incorrect comment
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@144991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-27 16:36:39 +00:00
Steve Murphy
d933c94dcb Merged revisions 144635 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r144635 | murf | 2008-09-26 10:51:30 -0600 (Fri, 26 Sep 2008) | 1 line

Matt suggests we remove utils/build-extensions-conf.lua, as per bug 12961, it is no longer necessary.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@144636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-26 16:53:01 +00:00
Steve Murphy
1ea8431ada Merged revisions 138845 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r138845 | murf | 2008-08-19 10:31:24 -0600 (Tue, 19 Aug 2008) | 1 line

Oops. put a decl in a generated file. My bad, but fixed now.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@138847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-19 16:38:21 +00:00
Steve Murphy
52d466de03 Merged revisions 136746 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r136746 | murf | 2008-08-07 18:48:35 -0600 (Thu, 07 Aug 2008) | 40 lines

Merged revisions 136726 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r136726 | murf | 2008-08-07 18:15:34 -0600 (Thu, 07 Aug 2008) | 32 lines


(closes issue #13236)
Reported by: korihor

Wow, this one was a challenge!

I regrouped and ran a new strategy for
setting the ~~MACRO~~ value; I set it once
per extension, up near the top. It is only
set if there is a switch in the extension.

So, I had to put in a chunk of code to detect
a switch in the pval tree.

I moved the code to insert the set of ~~exten~~
up to the beginning of the gen_prios routine, 
instead of down in the switch code.

I learned that I have to push the detection
of the switches down into the code, so everywhere
I create a new exten in gen_prios, I make sure
to pass onto it the values of the mother_exten
first, and the exten next.

I had to add a couple fields to the exten
struct to accomplish this, in the ael_structs.h
file. The checked field makes it so we don't
repeat the switch search if it's been done.

I also updated the regressions.


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@136778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-08 06:45:43 +00:00
Steve Murphy
e45d4f3bf1 Merged revisions 130145 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

Merging this rev from trunk to 1.6.0 was not
simple. Why? Because we've enhanced trunk to
do a [fast] merge-and-delete operation which 
also solved problems with contexts having 
entries from different registrars.
Fast as in the amount of time the contexts
are locked down. That *is* fast, but traversing
the entire dialplan looking for priorities to
delete takes more time overall.
This particular fix involved pulling in those
enhancements from trunk, along with all the
various fixes and refinements made along the
way.

Merging all this from trunk into 1.6 involved:
a. mergetrunk6 in the stuff from 130145;
b. revert all but the prop changes
c. catalog all revisions to pbx.c since 1.6.0 was forked
   (at rev 105596).
d. catalog all revisions to pbx.c in trunk since 1.6.0
   was forked, making special note of all revs that
   were not merged into 1.6.0.
e. study each rev in trunk not applied to 1.6.0, and
   determine if it was involved in the merge_and_delete
   enhancements in trunk. 25 commits were done in 1.6.0,
   all but one (106306) was a merge from trunk.
   Trunk had 22 additional changes, of which 7 were
   involved in the merge_and_delete enhancements:
    106757
    108894
    109169
    116461
    123358
    130145
    130297
f. Go to trunk and collect patches, one by one,
   of the changes made by each rev across the
   entire source tree, using svn diff -c <num> > pfile
g. Apply each patch in order to 1.6.0, and 
   resolve all failures and compilation problems
   before proceding to the next patch.
h. test the stuff.
i. profit!


........
r130145 | murf | 2008-07-11 12:24:31 -0600 (Fri, 11 Jul 2008) | 40 lines

(closes issue #13041)
Reported by: eliel
Tested by: murf

(closes issue #12960)
Reported by: mnicholson

In this 'omnibus' fix, I **think** I solved both
the problem in 13041, where unloading pbx_ael.so
caused crashes, or incomplete removal of previous
registrar'ed entries. And I added code to completely
remove all includes, switches, and ignorepats that
had a matching registrar entry, which should
appease 12960.

I also added a lot of seemingly useless brackets
around single statement if's, which helped debug 
so much that I'm leaving them there.

I added a routine to check the correlation between
the extension tree lists and the hashtab 
tables. It can be amazingly helpful when you have
lots of dialplan stuff, and need to narrow
down where a problem is occurring. It's ifdef'd
out by default.

I cleaned up the code around the new CIDmatch code.
It was leaving hanging extens with bad ptrs, getting confused
over which objects to remove, etc. I tightened
up the code and changed the call to remove_exten
in the merge_and_delete code.

I added more conditions to check for empty context
worthy of deletion. It's not empty if there are
any includes, switches, or ignorepats present.

If I've missed anything, please re-open this bug,
and be prepared to supply example dialplan code.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@130946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-15 13:14:07 +00:00
Tilghman Lesher
9b5c5f096a Merged revisions 130230 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r130230 | tilghman | 2008-07-11 14:40:55 -0500 (Fri, 11 Jul 2008) | 2 lines

Fix trunk breakage

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@130231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 19:45:25 +00:00
Brett Bryant
559bbfc457 Merged revisions 130129 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r130129 | bbryant | 2008-07-11 13:09:35 -0500 (Fri, 11 Jul 2008) | 8 lines

Janitor patch to change uses of sizeof to ARRAY_LEN

(closes issue #13054)
Reported by: pabelanger
Patches:
      ARRAY_LEN.patch2 uploaded by pabelanger (license 224)
Tested by: seanbright

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@130130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 18:14:27 +00:00
Mark Michelson
aec8cda0c8 Merged revisions 125799 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r125799 | mmichelson | 2008-06-27 09:14:09 -0500 (Fri, 27 Jun 2008) | 3 lines

Remove an unneeded target from the Makefile


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@125800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-27 14:14:46 +00:00
Jeff Peeler
f089bbf663 Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@123332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-17 18:08:09 +00:00
Steve Murphy
2fdbd728b8 Merged revisions 117335 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r117335 | murf | 2008-05-20 19:00:28 -0600 (Tue, 20 May 2008) | 10 lines

These changes were made via the comments atis_work made at 4:30am (Mountain Time zone- US)
in #asterisk-dev on 20 May 2008. He noted that a backslash was being inserted before commas
in app call arguments in the extensions.conf.aeldump file that you get from aelparse with the
-w arg. This was being generated from code left over from 1.4, where commas were substituted
with '|', and any remaining commas needed to be escaped.

Many thanks to atis for his comment; please let us know if these changes break anything!



........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@117365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 01:20:45 +00:00
Tilghman Lesher
0a6450103f Merged revisions 116948 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r116948 | tilghman | 2008-05-18 16:15:58 -0500 (Sun, 18 May 2008) | 4 lines

Add a set of text to the file astcanary uses to communicate back the main
Asterisk process, which explains the purpose for the file being there.  This
should assist people who find the file and wonder why it exists.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@116949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-18 21:18:06 +00:00
Mark Michelson
fcbd180cec Merged revisions 114052 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114052 | mmichelson | 2008-04-10 17:02:32 -0500 (Thu, 10 Apr 2008) | 11 lines

Merged revisions 114051 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114051 | mmichelson | 2008-04-10 15:59:49 -0500 (Thu, 10 Apr 2008) | 3 lines

Fix 1.4 build when LOW_MEMORY is enabled.


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-10 22:23:14 +00:00
Russell Bryant
4af367c3a9 Merged revisions 109447 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r109447 | twilson | 2008-03-18 10:43:34 -0500 (Tue, 18 Mar 2008) | 3 lines

Go through and fix a bunch of places where character strings were being interpreted as format strings. Most of these changes are solely to make compiling with -Wsecurity and -Wformat=2 happy, and were not
actual problems, per se.  I also added format attributes to any printf wrapper functions I found that didn't have them.  -Wsecurity and -Wmissing-format-attribute added to --enable-dev-mode.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@109459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 15:58:50 +00:00
Kevin P. Fleming
b2fabfdb4c Merged revisions 107373 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r107373 | kpfleming | 2008-03-11 06:36:51 -0500 (Tue, 11 Mar 2008) | 19 lines

Merged revisions 107352 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107352 | kpfleming | 2008-03-11 06:04:29 -0500 (Tue, 11 Mar 2008) | 11 lines

fix up various compiler warnings found with gcc-4.3:

- the output of flex includes a static function called 'input' that is not used, so for the moment we'll stop having the compiler tell us about unused variables in the flex source files (a better fix would be to improve our flex post-processing to remove the unused function)

- main/stdtime/localtime.c makes assumptions about signed integer overflow, and gcc-4.3's improved optimizer tries to take advantage of handling potential overflow conditions at compile time; for now, suppress these optimizations until we can fiure out if the code needs improvement

- main/udptl.c has some references to uninitialized variables; in one case there was no bug, but in the other it was certainly possibly for unexpected behavior to occur

- main/editline/readline.c had an unused variable


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@107374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 11:39:32 +00:00
Tilghman Lesher
fd382738e3 Merged revisions 106553 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r106553 | tilghman | 2008-03-07 00:54:47 -0600 (Fri, 07 Mar 2008) | 14 lines

Merged revisions 106552 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106552 | tilghman | 2008-03-07 00:36:33 -0600 (Fri, 07 Mar 2008) | 6 lines

Safely use the strncat() function.
(closes issue #11958)
 Reported by: norman
 Patches: 
       20080209__bug11958.diff.txt uploaded by Corydon76 (license 14)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@106554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07 06:57:44 +00:00
Russell Bryant
7da06e6cb8 Merged revisions 105116 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r105116 | russell | 2008-02-28 16:23:05 -0600 (Thu, 28 Feb 2008) | 8 lines

Fix a bug in the lock tracking code that was discovered by mmichelson.  The issue
is that if the lock history array was full, then the functions to mark a lock as
acquired or not would adjust the stats for whatever lock is at the end of the array,
which may not be itself.  So, do a sanity check to make sure that we're updating
lock info for the proper lock.

(This explains the bizarre stats on lock #63 in BE-396, thanks Mark!)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-28 22:39:26 +00:00
Tilghman Lesher
f696089089 open(2) needs a mode argument when O_CREAT is specified.
(Closes issue #12083)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-27 15:34:28 +00:00
Tilghman Lesher
a8e821d061 Ignore some more unused generated events.
(closes issue #12042)
 Reported by: junky
 Patches: 
       astman_events.diff uploaded by junky (license 177)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-21 05:21:39 +00:00
Tilghman Lesher
32a758d944 Remove extraneous copy
(closes issue #12002)
 Reported by: junky
 Patches: 
       conf2ael.diff uploaded by junky (license 177)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-15 15:45:33 +00:00
Tilghman Lesher
1dc86caf30 Merged revisions 102323 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r102323 | tilghman | 2008-02-04 15:06:09 -0600 (Mon, 04 Feb 2008) | 7 lines

Cross-platform fix:  OS X now deprecates the use of the daemon(3) API.
(closes issue #11908)
 Reported by: oej
 Patches: 
       20080204__bug11908.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@102329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-04 21:15:18 +00:00
Steve Murphy
71ad27409c The fixes in this commit are mainly to allow compiling of trunk with --enable-dev-mode, mutex profiling, lock debugging, etc. Mainly, the version.c needs to be in the OBJS line; asterisk.h was chosen to have the prototypes for ast_get_version, ast_get_version_num; and the ASTERISK_FILE_VERSION macro needs to be used after including asterisk.h in a few files. I hope I did the right thing. If not, let me know.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 00:50:39 +00:00
Joshua Colp
9c0c82d0d0 Make ast_atomic_fetchadd_int_slow magically appear in extconf.
(closes issue #11703)
Reported by: dmartin


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-08 15:26:50 +00:00
Luigi Rizzo
5e24835995 modify http://svn.digium.com/view/asterisk?view=rev&rev=93603
so that paths and filename are writable by asterisk.c without
causing segfaults.

This involves defining the variables as const char *,
and having them point to as static, writable buffer
defined in asterisk.c

On passing, fix some errors in using these variables
in some files in utils/ , and in res/snmp/agent.c
which was redefining a variable without using paths.h

(not applicable to 1.4)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-20 09:55:05 +00:00
Tilghman Lesher
53436f42f4 Add a canary process, for high priority mode (asterisk -p) to ensure that if
Asterisk goes into a busy loop, the machine will be recoverable.  We'd still
need to do a restart to put Asterisk back into high priority mode, but at
least a reboot won't be required. (Closes issue #11559)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 23:06:05 +00:00
Luigi Rizzo
10f70a8321 make configuration variable const so they are not accidentally
modified.
This requires casting the strings in asterisk.c when writing to
them, so we do it through a macro to do it consistently.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 10:24:58 +00:00
Luigi Rizzo
fd88390af7 remove unnecessary (char *) casts for ast_config_AST_* variables.
There are some left in the .flex files, left to the maintainer...



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 09:46:18 +00:00
Joshua Colp
d7125b74c9 Add ast_atomic_fetchadd_int_slow to check_expr for platforms that need it.
(closes issue #11484)
Reported by: snuffy


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 16:48:18 +00:00
Luigi Rizzo
9e4ebbee87 remove relative paths and use ASTTOPDIR instead.
Give a default value to ASTTOPDIR if unset so we can at least
do a 'make clean' without too much trouble.

The proper fix, however, is to partition the top level
Makefile in a 'setup' and a 'main' part, in a way that the
'setup' part can be included from subdirs' Makefiles and
allow targets to be built without going through the
top level Makefile.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 08:40:59 +00:00
Luigi Rizzo
ff8134d30f simplify this file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 08:35:35 +00:00
Luigi Rizzo
15d5e144b1 add hashtab.c to the list of files deleted
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09 22:55:58 +00:00
Luigi Rizzo
d652be0930 normalize subdirs' Makefile by using ASTTOPDIR and not .. to reference
the top level directory.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09 21:29:37 +00:00
Luigi Rizzo
3fbcdac589 normalize header order, and add a comment on the need
to clean up this file.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-08 03:27:16 +00:00
Russell Bryant
248dac6e73 Fix the build of astman. Any file that includes any asterisk sub-headers
needs to first include asterisk.h.
(closes issue #11394)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 23:01:15 +00:00
Kevin P. Fleming
93615ecc22 let's try this again... *all* compilation and linking in Asterisk should be done using the standard compilation rules, not manually created ones. changing hashtest.c to use these rules caused the compiler to notice a large number of coding guidelines violations, so those are fixed too.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-29 13:38:11 +00:00
Steve Murphy
4c992507f4 closes issue #11341; made changes to make utils again right with the MTX_PROFILE world.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-26 17:46:41 +00:00
Luigi Rizzo
6dfc36b639 enable support for stack backtrace for stuff built in utils/
(this was present in the main tree but forgotten here).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 21:30:24 +00:00
Kevin P. Fleming
3826d15993 move these forward declarations back to asterisk.h where they belong... even though asterisk.h includes compat.h, these declarations have nothing to do with the being platform-compatible and are directly related to being part of Asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 16:07:11 +00:00
Luigi Rizzo
04e1e0069f more header removal/normalization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89473 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 00:23:49 +00:00
Luigi Rizzo
b693c30a66 move the declaration of struct ast_channel ast_frame and ast_module
to compat.h so it is always available - hopefully this will let
us reduce the number of inclusions of channel.h and frame.h



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 19:36:32 +00:00
Luigi Rizzo
7cd78079ae more cygwin/mingw32 compatibility fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 10:54:52 +00:00
Luigi Rizzo
91475fd3dc add a return NULL to a function that is expected to return a value
so compilers that don't understand that this code is NOTREACHED
will not complain (the fault is not much on the compiler but on the
declaration of pthread_exit on certain platforms)
s/certain platform/cygwin/ if you are really curious



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 09:54:54 +00:00
Luigi Rizzo
d82a631f9c more removal of duplicate #include lines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 00:02:33 +00:00
Luigi Rizzo
4afe3b5ba9 remove redundant #include "asterisk/compat.h",
but make sure that asterisk/compiler.h is included everywhere



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 21:08:28 +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
Steve Murphy
f033e50a15 Don't forget the ASTERISK_VERSION for the sake of the mtx_prof stuff.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 23:33:55 +00:00
Kevin P. Fleming
c7773aa206 (closes issue #11221)
Reported by: eliel
Patches:
      utils.Makefile.patch uploaded by eliel (modified by me) (license 64)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 20:16:13 +00:00
Joshua Colp
098728eb64 Fix building on FreeBSD by including/not including some headers.
(closes issue #11218)
Reported by: ys
Patches:
      trunk89169.diff uploaded by ys (license 281)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 13:26:45 +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
Kevin P. Fleming
edc78d6023 improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
  - add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 05:28:47 +00:00
Luigi Rizzo
1c55f8424e Move AUDIO_LIBS outside the top level Makefile. This too is used only
in one place.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 21:36:11 +00:00