I was getting this warning during a compile

on a 64-bit machine running ubuntu server 8.10, 
and gcc-4.3.2:

   [CXXi] chan_vpb.ii -> chan_vpb.oo
cc1plus: warnings being treated as errors
In file included from /home/murf/asterisk/trunk/include/asterisk/utils.h:671,
                 from chan_vpb.cc:46:
/home/murf/asterisk/trunk/include/asterisk/strings.h: In function ‘char* ast_str_truncate(ast_str*, ssize_t)’:
/home/murf/asterisk/trunk/include/asterisk/strings.h:479: error: comparison between signed and unsigned integer expressions
make[1]: *** [chan_vpb.oo] Error 1
make: *** [channels] Error 2

which this fix silences



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.2
Steve Murphy 17 years ago
parent ae30bbf43d
commit 203e224bcb

@ -481,7 +481,7 @@ char *ast_str_truncate(struct ast_str *buf, ssize_t len),
{ {
#ifdef DEBUG_OPAQUE #ifdef DEBUG_OPAQUE
if (len < 0) { if (len < 0) {
buf->used2 += ((ssize_t) abs(len)) > buf->used2 ? -buf->used2 : len; buf->used2 += ((ssize_t) abs(len)) > (ssize_t) buf->used2 ? -buf->used2 : len;
} else { } else {
buf->used2 = len; buf->used2 = len;
} }
@ -489,7 +489,7 @@ char *ast_str_truncate(struct ast_str *buf, ssize_t len),
return buf->str2; return buf->str2;
#else #else
if (len < 0) { if (len < 0) {
buf->used += ((ssize_t) abs(len)) > buf->used ? -buf->used : len; buf->used += ((ssize_t) abs(len)) > (ssize_t) buf->used ? -buf->used : len;
} else { } else {
buf->used = len; buf->used = len;
} }

Loading…
Cancel
Save