int to string or string to int operations.
"pure" essentially says that this function has no side effects aside from its
result, and the result depends on nothing else other than its arguments and
global variables. "const" is a more strict form of "pure", where the function
also doesn't access any global variables.
From the gcc manual: "Such a function can be subject to common subexpression
elimination and loop optimization just as an arithmetic operator would be."
This also tells the compiler that it is safe to call the function fewer times
than the code says to, given the same arguments, since the result will always
be the same.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38452 f38db490-d61c-443f-a65b-d21fe96a405b
- Fix some breakage I introduced a while ago that made the timestamps option
not functional for CLI verbose output.
- Remove the use of the timestamps option for log output, since it was not
functional.
- clarify text referring to the timestamps option so that it is clear that it
only applies to CLI verbose output
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38439 f38db490-d61c-443f-a65b-d21fe96a405b
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r38420 | file | 2006-07-28 14:49:00 -0400 (Fri, 28 Jul 2006) | 2 lines
Make a copy of the request URI in check_user_full instead of modifying the one on the structure, and also strip params properly from the user portion of the SIP URI so as to preserve the domain (issue #7552 reported by dan42)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38421 f38db490-d61c-443f-a65b-d21fe96a405b
make read/write/hold work on samples, not bytes
add an API call to find out how many samples are available in a slinfactory
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38418 f38db490-d61c-443f-a65b-d21fe96a405b
fix prototype for a channel walking function to use a const input pointer
use existing channel walk by name prefix instead of reproducing that code in this app
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38389 f38db490-d61c-443f-a65b-d21fe96a405b
move guts of dialplan application into separate function, so it can be shared bythe new application i'm about to add :-)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38374 f38db490-d61c-443f-a65b-d21fe96a405b
use API call for finding channel by name prefix
code formatting to match guidelines (lost about half the of the indenting)
remove useless automatic variable initializations
don't set the spying channel's read format to SLINEAR when we don't do anything with the voice frames we read from it anyway
use proper option argument checking for volume argument
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38368 f38db490-d61c-443f-a65b-d21fe96a405b
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r38328 | russell | 2006-07-27 00:25:41 -0400 (Thu, 27 Jul 2006) | 4 lines
Fix crash when using the "regexten" option with MALLOC_DEBUG enabled. This was
not reported in the bug tracker but the same bug has been demonstrated in other
places in the code.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38329 f38db490-d61c-443f-a65b-d21fe96a405b
astmm support and astmm doesn't get really upset and complain that it is being
asked to free memory that was never allocated
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38271 f38db490-d61c-443f-a65b-d21fe96a405b
Instead of having a static buffer size of 16k, start out with 256 bytes and
increase the size of the buffer as needed.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38223 f38db490-d61c-443f-a65b-d21fe96a405b
recent hold changes so that MOH is not started on the bridged channel directly.
However, the change is still not a bad idea.
Merged revisions 38200 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r38200 | russell | 2006-07-25 15:43:38 -0400 (Tue, 25 Jul 2006) | 6 lines
This resolves a deadlock that a tech support customer was getting frequently
when his users would answer call waiting. If another thread is currently
holding the zt_pvt lock for the first channel, unlock both channels and let
asterisk retry the native bridge, just like what is done for the second channel
directly below these changes.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38201 f38db490-d61c-443f-a65b-d21fe96a405b
I don't particular like the approach, which basically tries to exclude the file based on
NOT being in a list of arches. This, IMHO, is backwards, it should be a list of AMD arches
instead. "Better to light a candle, than to curse the darkness", is apropo here. But since I don't
have an exhaustive list of what those arches could be, I leave as-is for now.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38187 f38db490-d61c-443f-a65b-d21fe96a405b
This improves the performance of ast_cli() by not doing a heap memory
allocation and deallocation every single time the function is called. Instead,
a thread-specific buffer is allocatted the first time the function is called
and automatically free'd when the thread exits. Also note that this buffer will
only be allocatted in threads that actually call this function, which is
probably only the threads spawned to service connected asterisk consoles.
This does introduce a new limitation on the maximum length of the resulting
string from the arguments passed to ast_cli. Previously there was no limit
since it was just allocating a buffer big enough every time the function was
called. The current buffer size is 16kB. If there is ever a case where we want
to print more than 16k characters in a single call to ast_cli(), this will have
to be increased.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38127 f38db490-d61c-443f-a65b-d21fe96a405b
variable. Also, change a use of strdup to ast_strdup and remove a duplicated
error message.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38108 f38db490-d61c-443f-a65b-d21fe96a405b
- malloc to ast_malloc
- malloc + memset to ast_calloc
- sizeof(struct foo) to sizeof(*bar)
- remove indentation of the entire body of a function by returning immediately
on an allocation failure
(issue #7581, tempest1)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38088 f38db490-d61c-443f-a65b-d21fe96a405b
and fix a couple little things in passing
- usecnt was not initialized in chan_iax2
- ast_update_use_count() was not called after incrementing the count in chan_sip
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38077 f38db490-d61c-443f-a65b-d21fe96a405b
if the channel is already in the autoservice list.
Why is this a valid case to return -1, you ask? Well, there should never be
any code where it is not clear if the channel is in autoservice or not because
trying to read frames from a channel that is in the autoservice list will lead
to bad results because more than one thread will be waiting on frames to arrive
on the channel and then trying to read them.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38076 f38db490-d61c-443f-a65b-d21fe96a405b
inet_ntoa, which uses thread specific data (aka thread local storage) instead
of stack allocatted buffers to store the result.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38042 f38db490-d61c-443f-a65b-d21fe96a405b