diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-02-16 21:41:46 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-02-16 21:41:46 +0000 |
commit | fa0b79b91d814b4996fc222e762bd25ba455cbe1 (patch) | |
tree | d4189d60d6743a5ccfe2e32af21e441c43adbd24 /main/utils.c | |
parent | 0ad4acc111d320b079ee1ed7bd71dc249f2374df (diff) |
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/branches/1.4@176254 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/utils.c')
-rw-r--r-- | main/utils.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/main/utils.c b/main/utils.c index 84d53e182..3d3da881c 100644 --- a/main/utils.c +++ b/main/utils.c @@ -1298,9 +1298,11 @@ void __ast_string_field_index_build_va(struct ast_string_field_mgr *mgr, vsprintf(target, format, ap2); } - fields[index] = target; - mgr->used += needed; - mgr->space -= needed; + if (fields[index] != target) { + fields[index] = target; + mgr->used += needed; + mgr->space -= needed; + } } void __ast_string_field_index_build(struct ast_string_field_mgr *mgr, |