git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164168
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
)
AST_INLINE_API(
-char *ast_str_truncate(struct ast_str *buf, size_t len),
+char *ast_str_truncate(struct ast_str *buf, ssize_t len),
{
#ifdef DEBUG_OPAQUE
if (len < 0) {
- buf->used2 += len;
+ buf->used2 += (ssize_t) abs(len) > buf->used2 ? -buf->used2 : len;
} else {
buf->used2 = len;
}
return buf->str2;
#else
if (len < 0) {
- buf->used += len;
+ buf->used += (ssize_t) abs(len) > buf->used ? -buf->used : len;
} else {
buf->used = len;
}