aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/channel.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c
index 464c9faf1..b66c875b5 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -2921,7 +2921,10 @@ int ast_indicate_data(struct ast_channel *chan, int _condition,
/* The channel driver does not support this indication, let's fake
* it by doing our own tone generation if applicable. */
- if (condition < 0) {
+ /*!\note If we compare the enumeration type, which does not have any
+ * negative constants, the compiler may optimize this code away.
+ * Therefore, we must perform an integer comparison here. */
+ if (_condition < 0) {
/* Stop any tones that are playing */
ast_playtones_stop(chan);
return 0;