From a40e852ed38d04ae1d3818c9d1fc185ff5493938 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" <kpfleming@digium.com> Date: Mon, 31 Oct 2005 18:15:02 +0000 Subject: [PATCH] don't pass short arguments by value, it will cause compiler warnings on most platforms about implicit conversions (thanks Luigi!) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6901 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- frame.c | 10 +++++++--- include/asterisk/utils.h | 12 ++++++------ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/frame.c b/frame.c index 5952b1d747..63c6c8c9cd 100755 --- a/frame.c +++ b/frame.c @@ -1257,15 +1257,19 @@ int ast_frame_adjust_volume(struct ast_frame *f, int adjustment) { int count; short *fdata = f->data; + short adjust_value = abs(adjustment); if ((f->frametype != AST_FRAME_VOICE) || (f->subclass != AST_FORMAT_SLINEAR)) return -1; + if (!adjustment) + return 0; + for (count = 0; count < f->samples; count++) { if (adjustment > 0) { - ast_slinear_saturated_multiply(&fdata[count], abs(adjustment)); + ast_slinear_saturated_multiply(&fdata[count], &adjust_value); } else if (adjustment < 0) { - ast_slinear_saturated_divide(&fdata[count], abs(adjustment)); + ast_slinear_saturated_divide(&fdata[count], &adjust_value); } } @@ -1289,7 +1293,7 @@ int ast_frame_slinear_sum(struct ast_frame *f1, struct ast_frame *f2) for (count = 0, data1 = f1->data, data2 = f2->data; count < f1->samples; count++, data1++, data2++) - ast_slinear_saturated_add(data1, *data2); + ast_slinear_saturated_add(data1, data2); return 0; } diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h index 2f603a77a2..92a228aae8 100755 --- a/include/asterisk/utils.h +++ b/include/asterisk/utils.h @@ -169,11 +169,11 @@ char *ast_uri_encode(char *string, char *outbuf, int buflen, int doreserved); */ void ast_uri_decode(char *s); -static inline void ast_slinear_saturated_add(short *input, short value) +static inline void ast_slinear_saturated_add(short *input, short *value) { int res; - res = (int) *input + value; + res = (int) *input + *value; if (res > 32767) *input = 32767; else if (res < -32767) @@ -182,11 +182,11 @@ static inline void ast_slinear_saturated_add(short *input, short value) *input = (short) res; } -static inline void ast_slinear_saturated_multiply(short *input, short value) +static inline void ast_slinear_saturated_multiply(short *input, short *value) { int res; - res = (int) *input * value; + res = (int) *input * *value; if (res > 32767) *input = 32767; else if (res < -32767) @@ -195,9 +195,9 @@ static inline void ast_slinear_saturated_multiply(short *input, short value) *input = (short) res; } -static inline void ast_slinear_saturated_divide(short *input, short value) +static inline void ast_slinear_saturated_divide(short *input, short *value) { - *input /= value; + *input /= *value; } extern int test_for_thread_safety(void); -- GitLab