Russell Bryant
9fd2746442
don't do the memcpy inside of ast_strdupa if we know that __builtin_alloca
...
was not successful
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-21 18:11:40 +00:00
Russell Bryant
5d2cd87f41
remove optimization where its benefits are negligible
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-21 03:09:01 +00:00
Russell Bryant
1946020208
- move ast_strdupa from channel.h to utils.h
...
- attempt to log an error message if the __builtin_alloca inside of ast_strdupa
fails.
- document the fact that it is known and intended behavior for ast_strdupa to
cause Asterisk to crash if the alloca fails
- use __builtin_expect when checking for allocation failure in all of the
allocation wrappers
New Janitor Project! Anywhere that we check for a successful allocation after
a call to ast_strdupa is unnecessary and should be removed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-20 19:24:42 +00:00
Russell Bryant
55c8fc92a9
Various cleanups from comments in an email from Luigi Rizzo. Thank you!
...
- Use a cleaner syntax for declaring the allocation macros
- Fix return value for ast_strdup/ast_strndup
- remove safe_strdup from app_macro, since ast_strup does the same thing
- fix a place in app_queue where ast_calloc+strncpy was used instead of
ast_strdup. If you are helping out with these conversions, please watch out
for other places where this is done.
- add a note to the coding guidelines about the fix to app_queue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-13 18:38:55 +00:00
Russell Bryant
15fb0b2061
Add wrappers for commonly used memory allocation functions. These wrappers
...
add an automatically generated Asterisk log message if the allocation fails
for some reason. Otherwise, they are functionally the same, with the
exception of ast_strdup and ast_strndup. These functions have the added
ability to accept a NULL argument without error, which will just be ignored
without generating an error. The coding guidelines have also been updated to
reflect all of this information. (issue #4996 )
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-10 23:51:42 +00:00
Tilghman Lesher
935c80d5e6
Bug 5961 - new RAND() function
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-10 00:55:45 +00:00
Kevin P. Fleming
80fa9689b7
add memory-pool based string field management for structures
...
convert chan_sip sip_pvt and sip_registry structures to use string fields
add 'const' qualifiers to a few API calls that don't modify their input strings
add an asprintf() wrapper to astmm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 21:54:09 +00:00
Kevin P. Fleming
2c65582b66
remove extraneous svn:executable properties
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 18:24:39 +00:00
Kevin P. Fleming
0941c32d38
issue #5569 minus lock.h changes
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 04:13:19 +00:00
Kevin P. Fleming
8839ff95df
add new GCC-specific macro and force inlining of certain functions where speed is paramount, even when optimization is disabled
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 20:09:09 +00:00
Kevin P. Fleming
a40e852ed3
don't pass short arguments by value, it will cause compiler warnings on most platforms about implicit conversions (thanks Luigi!)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 18:15:02 +00:00
Kevin P. Fleming
15ac76178a
do saturated math properly (thanks to the eagle-eyes of Tony Mountifield)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-29 13:03:23 +00:00
Kevin P. Fleming
8dad624c68
ensure that SLINEAR volume adjustments don't wrap around short integer maximums
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 21:35:55 +00:00
Russell Bryant
3453e3efa5
Doxygen documentation update from oej (issue #5505 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-24 20:12:06 +00:00
Mark Spencer
1ceb04cfb7
More utility cleanups
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 03:10:33 +00:00
Russell Bryant
779d033f21
move process_quotes_and_slashes to utils.c since it is used by both pbx_ael and pbx_config
...
clean up some formatting
remove some commented out reference code
move unload_module in pbx_ael down to be with the rest of the standard module functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-23 02:57:14 +00:00
Kevin P. Fleming
4c2377ddd9
first set of Cygwin portability stuff (issue #4678 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-08 02:19:02 +00:00
Kevin P. Fleming
1632d52795
major header file cleanup: license, copyrights, descriptions, markers, etc.
...
remove deprecated config_old.c/config_old.h
remove unused cvsid.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 18:32:10 +00:00
Kevin P. Fleming
1824c2f630
encode/decode URIs in 'pedantic' mode (issue #3923 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6441 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 22:39:39 +00:00
Kevin P. Fleming
4dd4428204
split acl and netsock code into separate files, in preparation for new netsock implementation
...
various minor cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 23:17:02 +00:00
Kevin P. Fleming
58d1d59cab
simplify (and document!) macro for inlinable API functions (inspired by bug #4603 , with slightly different implementation)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-11 23:25:31 +00:00
Kevin P. Fleming
3e44b65090
split up string/time functions into separate header files
...
make more LOW_MEMORY optimizations, and ensure that a non-inline version of each inlinable function is always available (for external modules)
move compiler-specific stuff into a separate header file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 22:45:15 +00:00
Kevin P. Fleming
8ed59c10e4
make inlinable functions only need the function body in one file, and respond properly to LOW_MEMORY being defined
...
make ast_copy_string inlinable, and ast_tvdiff_ms LOW_MEMORY aware
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 23:07:55 +00:00
Mark Spencer
222b5695e0
Fix up utils nonsense
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-18 11:54:38 +00:00
Kevin P. Fleming
9a80a7bc2c
string/whitespace handling cleanups (bug #4449 , with mods)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 13:25:01 +00:00
Kevin P. Fleming
86511f89fb
don't use pthread_mutex_lock
...
don't double-include pthread.h in utils.h, which can cause the
pthread_mutex_lock warning to not be generated on some systems
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-14 14:45:51 +00:00
Kevin P. Fleming
e18a747172
move timeval-diff function into utils.h from app_alarmreceiver.c
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 14:39:34 +00:00
Kevin P. Fleming
e5e64bfd41
header ordering fixes for FreeBSD (pending a global merge into asterisk.h) (bug #4484 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 17:06:33 +00:00
Kevin P. Fleming
102c76a9c8
make IF dialplan function handle quoted strings properly (bug #4322 , with API mods)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-20 16:30:13 +00:00
Kevin P. Fleming
eaececc920
add ast_build_string library function (from bug #3644 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 22:33:02 +00:00
Kevin P. Fleming
abec217a1b
add experimental ast_copy_string() function to be used in place of strncpy() (see discussion on asterisk-dev)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-02 00:27:54 +00:00
Kevin P. Fleming
1f9ab2380a
use double-quotes instead of angle-brackets for non-system include files (bug #4058 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-21 06:02:45 +00:00
Mark Spencer
f9cfe60312
Add support for Solaris/x86 (bug #3064 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 23:12:15 +00:00
Mark Spencer
badc4dec46
Make mpg123 behave more nicely
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 03:20:55 +00:00
Mark Spencer
bb3a461b49
Fix stack size for ADSI (needs 128k by itself!)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-04 22:37:25 +00:00
Mark Spencer
686da4b054
Make stack size be selectable
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-04 00:01:41 +00:00
Mark Spencer
b9a34d8634
Fix stack size (take 2) (bug #3706 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 16:18:44 +00:00
Mark Spencer
9f2a6c79c4
Support > 300 threads on x86-32 and other 32-bit systems
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 03:46:41 +00:00
Mark Spencer
0126706cac
Add OEJ's md5 app (bug #3604 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-18 05:29:31 +00:00
Mark Spencer
64127abd5c
Fix C++ issues (bug #'s 3425, 3426)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-26 02:39:22 +00:00
Russell Bryant
0c30452423
update copyright headers for 2005
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 07:06:25 +00:00
Mark Spencer
bec6aaf064
Fix ODBC to clear title each time (bug #3379 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-20 04:53:17 +00:00
Mark Spencer
96503a02c1
Make groups be 64-bits (bug #3351 , with mods)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 21:51:38 +00:00
Mark Spencer
92eb0c2018
More flagification, courtesy drumkilla (bug #3280 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 14:46:59 +00:00
Mark Spencer
87c9e1db33
Warn if flags is signed instead of unsigned (bug #3279 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-08 19:00:46 +00:00
Mark Spencer
0c3cea35f0
Merge OEJ's print groups feature (bug #3228 , with changes)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-03 00:51:57 +00:00
Mark Spencer
1395d93c0e
Add "ast_flags_all" mask (bug #3136 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 11:32:22 +00:00
Mark Spencer
d6a415c262
Merge drumkilla's bitfield patch for SIP (bug #3083 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 20:50:55 +00:00
Mark Spencer
cadb8d010b
Merge russell's flag macro patch (with slight mods) (bug #3046 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-16 03:15:20 +00:00
Mark Spencer
12e2fe4d94
Thread fixes, vm fix (bug #2665 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-17 22:13:05 +00:00