aboutsummaryrefslogtreecommitdiffstats
path: root/main/utils.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-02-16 21:41:46 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-02-16 21:41:46 +0000
commitfa0b79b91d814b4996fc222e762bd25ba455cbe1 (patch)
treed4189d60d6743a5ccfe2e32af21e441c43adbd24 /main/utils.c
parent0ad4acc111d320b079ee1ed7bd71dc249f2374df (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.c8
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,