aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk/stringfields.h
AgeCommit message (Collapse)AuthorFilesLines
2009-05-05Merged revisions 192357 via svnmerge from kpfleming1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r192357 | kpfleming | 2009-05-05 15:18:21 +0200 (Tue, 05 May 2009) | 5 lines Correct some flaws in the memory accounting code for stringfields and ao2 objects Under some conditions, the memory allocation for stringfields and ao2 objects would not have supplied valid file/function names for MALLOC_DEBUG tracking, so this commit corrects that. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@192360 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-05Merged revisions 192279 via svnmerge from kpfleming1-5/+13
https://origsvn.digium.com/svn/asterisk/trunk ........ r192279 | kpfleming | 2009-05-05 10:51:06 +0200 (Tue, 05 May 2009) | 5 lines Ensure that string pools allocated to hold stringfields are properly accounted in MALLOC_DEBUG mode This commit modifies the stringfield pool allocator to remember the 'owner' of the stringfield manager the pool is being allocated for, and ensures that pools allocated in the future when fields are populated are owned by that file/function. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@192298 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Merged revisions 176216 via svnmerge from kpfleming1-6/+6
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r176216 | kpfleming | 2009-02-16 15:10:38 -0600 (Mon, 16 Feb 2009) | 3 lines fix a flaw in the ast_string_field_build() family of API calls; these functions made no attempt to reuse the space already allocated to a field, so every time the field was written it would allocate new space, leading to what appeared to be a memory leak. ........ r176254 | kpfleming | 2009-02-16 15:41:46 -0600 (Mon, 16 Feb 2009) | 3 lines correct a logic error in the last stringfields commit... don't mark additional space as allocated if the string was built using already-allocated space ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176255 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-09it does help if the compiler attribute syntax is correctkpfleming1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@162488 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-02Merged revisions 160207 via svnmerge from tilghman1-4/+8
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r160207 | tilghman | 2008-12-01 18:25:16 -0600 (Mon, 01 Dec 2008) | 3 lines Ensure that Asterisk builds with --enable-dev-mode, even on the latest gcc and glibc. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@160208 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-29incorporates r159808 from branches/1.4:kpfleming1-2/+2
------------------------------------------------------------------------ r159808 | kpfleming | 2008-11-29 10:58:29 -0600 (Sat, 29 Nov 2008) | 7 lines update dev-mode compiler flags to match the ones used by default on Ubuntu Intrepid, so all developers will see the same warnings and errors since this branch already had some printf format attributes, enable checking for them and tag functions that didn't have them format attributes in a consistent way ------------------------------------------------------------------------ in addition: move some format attributes from main/utils.c to the header files they belong in, and fix up references to the relevant functions based on new compiler warnings git-svn-id: http://svn.digium.com/svn/asterisk/trunk@159818 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-23Merged revisions 132872 via svnmerge from kpfleming1-17/+33
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r132872 | kpfleming | 2008-07-23 06:52:18 -0500 (Wed, 23 Jul 2008) | 2 lines minor optimization for stringfields: when a field is being set to a larger value than it currently contains and it happens to be the most recent field allocated from the currentl pool, it is possible to 'grow' it without having to waste the space it is currently using (or potentially even allocate a new pool) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@132964 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16remove redundant #include "asterisk/compat.h",rizzo1-2/+0
but make sure that asterisk/compiler.h is included everywhere git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89336 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16Start untangling header inclusion in a way that does not affectrizzo1-4/+0
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: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-15If we're going to be passing a negative value for the size of a stringfield,tilghman1-1/+1
in order to indicate something, then using an UNSIGNED parameter is bad, mmmmmkay? git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89312 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-12Doxygen fixes.qwell1-2/+2
Also fix a common typo I kept seeing (arguement) in various files. Closes issue #11222, patch by snuffy (with arguement > argument by me). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89202 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-04Simplify the implementation and the API for stringfields;rizzo1-200/+123
details and examples are in include/asterisk/stringfields.h. Not applicable to older branches except for 1.4 which will receive a fix for the routines that free memory pools. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88454 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-05Doxygen cleanups/fixes.qwell1-3/+3
Closes issue #10654, patch by snuffy git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81560 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-07Fix a bunch of doxygen errors and document more thingsrussell1-1/+2
(issue #9842, snuffy) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@68339 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-04Fix some compiler warnings in C++ modules.russell1-2/+2
(issue #9866, reported by osk, patch by Corydon76) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67017 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-07A fair number of changes for the sake of bug 7506murf1-0/+39
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47290 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-17Merged revisions 45408 via svnmerge from kpfleming1-5/+21
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r45408 | kpfleming | 2006-10-17 17:24:10 -0500 (Tue, 17 Oct 2006) | 3 lines optimize the 'quick response' code a bit more... no more malloc() or memset() for each response expand stringfields API a bit to allow reusing the stringfield pool on a structure when needed, and remove some unnecessary code when the structure was being freed ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@45409 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-07This commit folds in changes to both stringfields (some enhancements to the ↵murf1-3/+33
...field_set() macro, to optimize setting strings to empty, resetting strings to shorter contents, etc.) and to chan_iax2.c, to use stringfields in the user, peer, and pvt structs. Has been running stably on iaxtel, but while iaxtel has a large registration volume, it doesn't seem to have a high call volume. So far, it seems to reduce heap usage by over half. YMMV\! Please report any IAX bugs that might involve stringfields\! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@39203 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-09various minor portability fixes (mostly from tholo for OpenBSD)kpfleming1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33350 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-06fix some typos in the stringfields documentationrussell1-3/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@32455 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-05fix a typo in the documentation of how to use string fieldsrussell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@32161 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-11eliminate warning on older versions of gccrussell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9629 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-01use string fields for some stuff in ast_channelkpfleming1-13/+9
const-ify some more APIs remove 'type' field from ast_channel, in favor of the one in the channel's tech structure allow string field module users to specify the 'chunk size' for pool allocations update chan_alsa to be compatible with recent const-ification patches git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9060 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-26string field manager improvements:kpfleming1-21/+32
use multiple memory blocks, instead of realloc(), ensuring that field pointers will never become invalid or change don't run vs(n)printf twice when doing a field build unless required git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8697 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-06ensure that string field 'build' operation only evaluates arguments one timekpfleming1-11/+20
fix some minor documentation errors return proper type from string field space allocator git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7841 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-04add memory-pool based string field management for structureskpfleming1-0/+288
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: http://svn.digium.com/svn/asterisk/trunk@7797 f38db490-d61c-443f-a65b-d21fe96a405b