[asterisk-bugs] [Asterisk 0017302]: [patch] Eliminate compiler warning in app_voicemail.c

Asterisk Bug Tracker noreply at bugs.digium.com
Thu May 6 18:22:46 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17302 
====================================================================== 
Reported By:                jcovert
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   17302
Category:                   Applications/app_voicemail
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.6.2.7 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-05-06 14:27 CDT
Last Modified:              2010-05-06 18:22 CDT
====================================================================== 
Summary:                    [patch] Eliminate compiler warning in
app_voicemail.c
Description: 
There's a harmless but incorrect bit of code in app_voicemail which
produces the following compiler warning with the default compiler options
on Darwin:

app_voicemail.c: In function 'vm_execmain':
app_voicemail.c:9346: warning: control may reach end of non-void function
'vm_intro' being inlined

It is strongly recommended C coding practice to ensure that the final
statement in any non-void function is a return with a value.  While the
code here as currently written would always execute a return with a value,
it would be better quality and less likely to grow ugly scales due to a
future change if it were corrected as indicated in the attached patch.

The patch is relative to trunk.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0017297 [patch] [regression] 1.6.2.7 hangs duri...
====================================================================== 

---------------------------------------------------------------------- 
 (0121523) jcovert (reporter) - 2010-05-06 18:22
 https://issues.asterisk.org/view.php?id=17302#c121523 
---------------------------------------------------------------------- 
I'm not suggesting you "code around a compiler bug", because it hasn't been
agreed that there is a compiler bug.  But I am suggesting that the existing
long sequence of "if then else if then else if then else" with the default
condition in the final "else" would be (a) more robust and (b) more
maintainable if the default condition simply were removed from the if then
else chain and made an independent final statement.

It's bad style for the final statement in a non-void function to be
conditional.

I think you referenced the wrong patch in the previous reply. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-05-06 18:22 jcovert        Note Added: 0121523                          
======================================================================




More information about the asterisk-bugs mailing list