Commit Graph

88 Commits

Author SHA1 Message Date
Tilghman Lesher
81bc1d7af5 Merge in ast_strftime branch, which changes timestamps to be accurate to the microsecond, instead of only to the second
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:47:20 +00:00
Russell Bryant
8d1e53958c Merge a bunch of doxygen updates to header files. This includes changes to
use the \retval tag for documenting return values, fixing various warnings
when generating the documentation, and various other things.
(closes issue #10203, snuffy)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 02:51:56 +00:00
Tilghman Lesher
a952147446 Remove the ill-advised ast_restrdupa API call and related structures
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-28 19:41:18 +00:00
Russell Bryant
1d57ccb6f7 Fix a bunch of doxygen errors and document more things
(issue #9842, snuffy)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@68339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-07 23:07:25 +00:00
Luigi Rizzo
9d509eaf76 As the comment in the diff says:
AST_INLINE_API() is a macro that takes a block of code as an argument.
Using preprocessor #directives in the argument is not supported by all
compilers, and it is a bit of an obfuscation anyways, so avoid it.
As a workaround, define a macro that produces either its argument
or nothing, and use that instead of #ifdef/#endif within the
argument to AST_INLINE_API().



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 18:00:00 +00:00
Joshua Colp
982c8e1465 Return the useless casts that ensure this file is C++ clean. (issue #8602 reported by mikma)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-10 19:02:58 +00:00
Kevin P. Fleming
dfe56d30bc ensure that the proper file/function/line shows up for dynamic string threadstorage objects
remove pointless casts


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 23:38:10 +00:00
Kevin P. Fleming
4764795b37 Merged revisions 49553 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49553 | kpfleming | 2007-01-04 16:51:01 -0600 (Thu, 04 Jan 2007) | 2 lines

add support for tracking thread-local-storage objects that exist via 'threadstorage' CLI commands

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 23:18:36 +00:00
Luigi Rizzo
23be2c0bf4 apply the proposed fix for bug 8602
http://bugs.digium.com/view.php?id=8602
(i am not sure if there is still missing cast in
front of the alloca() call - being a macro this is
probably triggered only when actually used).

Add function ast_str_reset() to reinitialize the
string to an empty string instead of playing with
the internal fields.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-18 16:24:44 +00:00
Luigi Rizzo
20b382cfff replace ast_build_string() with ast_str_*() functions.
This makes the code easier to follow and saves some
copies to intermediate buffers.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-16 09:33:31 +00:00
Luigi Rizzo
055abfe9d9 simplify the ast_dynamic_str_*.... routines by
renaming them to ast_str ... and putting the
struct ast_threadstorage pointer into the struct ast_str.

This makes the code a lot more readable.

At this point we can use these routines also to
replace ast_build_string().



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15 23:10:42 +00:00
Luigi Rizzo
961754d4b1 move the dynamic string support in a better place i.e. string.h
While doing this, add a bit of documentation, and slightly
extend the functionality as follows:
 + a max_len of -1 means that we take whatever the current size
   is, and never try to extend the buffer;
 + add support for alloca()-ted dynamic strings, which is very
   useful for all cases where we do an ast_build_string() now.

Next step is to simplify the interface by using shorter names
(e.g. ast_str as a prefix) and removing the _thread variant
of the functions by saving the threadstorage reference into
the struct ast_str. This can be done by overloading the
'type' field.

Finally, I will do my best to remove the convoluted interface
that results from trying to support platforms without va_copy().



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15 22:08:46 +00:00
Jason Parker
f18cbf77df Many Solaris fixes - this moves some of the stuff from utils.c to strcompat.c
Every OS uses strcompat now - this was done on purpose.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-15 17:16:00 +00:00
Joshua Colp
696275bcc1 Fixed. Done. Good. Make ast_join work like it used to.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-10 19:58:33 +00:00
Joshua Colp
2e58363fed Unbreak ast_join due to whitespace changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-10 19:55:06 +00:00
Russell Bryant
c2d851de2b add the missing prototype for the included asprintf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-26 13:18:32 +00:00
Luigi Rizzo
b3ad3a7556 as discussed on the -dev list, introduce a macro to simplify the
writing of common constructs like

	chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";

(or the if/then/else form) into

	chan = S_OR(cdr->channel, "<unknown>");

The name can be changed if we find a better (and not too long) one;
currently, it is S as String, OR as it mimics the behaviour of
the || operator, but applied to strings.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-24 15:06:42 +00:00
Kevin P. Fleming
302c943001 add 'consumed' argument to ast_get_time_t, so callers can know how many characters were used in the parser
update pbx_dundi to use ast_get_time_t
eliminate some compiler warnings


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-23 17:13:57 +00:00
Kevin P. Fleming
4662d58b01 add API function for parsing strings to time_t (issue #6320, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-15 00:24:24 +00:00
Tilghman Lesher
33323ac720 Bug 6164 - Allow ast_skip_blanks on const strings without spewing warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-07 15:45:47 +00:00
Tilghman Lesher
f6bd113f02 Merged revisions 7827 via svnmerge from
/branches/1.2


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 23:54:28 +00:00
Russell Bryant
0da13c21b4 - move the string join() function to utils.c since it is used in both cli.c and res_agi.c
- reimplement ast_join to be of linear effieciency instead of quadratic
- remove some useless checks for "if (e)"
- reorder checks for strings starting with '_' to avoid a useless call to ast_join()
- check array bounds when parsing arguments to AGI
(issue #5868)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-20 20:20:04 +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
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
Russell Bryant
3332a8acd1 clean up a lot of doxygen errors and warnings (issue #5522)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 23:11:36 +00:00
Russell Bryant
a736096e0b change ast_strlen_zero to also check for the string to be defined
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 18:54:24 +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
Kevin P. Fleming
9835bc4330 add ast_build_string_va(), which accepts a varargs list directly
ensure the _entire_ manager_event() output is either queued or sent via ast_carefulwrite()


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-01 15:41:27 +00:00
Kevin P. Fleming
aa92d9c1f8 don't double define our own string functions on platforms that don't have them (issue #5169)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 02:30:33 +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
Russell Bryant
0a87b55fe8 ensure that strings.h has va_list defined (bug #4900)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-04 20:13:55 +00:00
Kevin P. Fleming
a6b0f6074f move strtoq into new string files (bug #4740)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 00:13:15 +00:00
Kevin P. Fleming
9d8d86e19d phase two of string portability stuff:
don't need ast_ prefixes on functions
  use individual #defines for function presence
  add vasprintf to portability library


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 22:06:15 +00:00
Kevin P. Fleming
b6486df40e first phase of proper fix for portable string function problems (bug #4669)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 00:39:01 +00:00
Russell Bryant
b62623fdaa convert ast_copy_string to use AST_INLINE_API macro (bug #4682)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 15:26:24 +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
b83175862e add new header files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 22:50:07 +00:00