[asterisk-bugs] [Asterisk 0012674]: [patch] revert ast_queue_hangup and create ast_queue_hangup_with_cause

noreply at bugs.digium.com noreply at bugs.digium.com
Mon May 19 10:44:45 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12674 
====================================================================== 
Reported By:                mvanbaak
Assigned To:                mvanbaak
====================================================================== 
Project:                    Asterisk
Issue ID:                   12674
Category:                   General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 116882 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             05-17-2008 08:05 CDT
Last Modified:              05-19-2008 10:44 CDT
====================================================================== 
Summary:                    [patch] revert ast_queue_hangup and create
ast_queue_hangup_with_cause
Description: 
Recently, ast_queue_hangup got an extra parameter to set the hangupcause.
Some people told me that was not ok and there should be an
ast_queue_hangup_with_cause.
The second thing in this commit that was not ok, was the use of
ast_frame.seqno for the hangupcause.
I addressed that in this patch as well.
====================================================================== 

---------------------------------------------------------------------- 
 kpfleming - 05-19-08 10:44  
---------------------------------------------------------------------- 
Because this changes breaks the API (source level compatibility), we should
try to minimize the damage. This change breaks the API *and* requires code
to be changed to no longer used named initializers; the goal of the
anonymous union was to avoid API breakage, but it failed to accomplish
that.

Given that, the union should now be:

union {
   void *ptr;
   uint32_t uint32;
   char pad[8];
} data;

This will allow for named initializers, because the union is now called
'data', but it will require a significant number of source code edits
(thankfully most of them will easy to change). It will also pad the union
size a bit, in case someone wants to add a different type of field in the
future. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
05-19-08 10:44  kpfleming      Note Added: 0087011                          
======================================================================




More information about the asterisk-bugs mailing list