[Home]

Summary:ASTERISK-12038: [branch] revert ast_queue_hangup and create ast_queue_hangup_with_cause
Reporter:Michiel van Baak (mvanbaak)Labels:
Date Opened:2008-05-17 08:05:52Date Closed:2008-05-22 15:13:22
Priority:MinorRegression?No
Status:Closed/CompleteComponents:General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) hangup_fixes-2.diff.txt
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.
Comments:By: Kevin P. Fleming (kpfleming) 2008-05-19 10:44:45

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.

By: Michiel van Baak (mvanbaak) 2008-05-19 10:56:17

Thanks for the feedback.
I'll start working on the code changes needed.

By: Digium Subversion (svnbot) 2008-05-19 15:11:28

Repository: asterisk
Revision: 117211

A   team/mvanbaak/ast_frame_dataunion/

------------------------------------------------------------------------
r117211 | mvanbaak | 2008-05-19 15:11:26 -0500 (Mon, 19 May 2008) | 5 lines

create branch to make the data member of the ast_frame struct a named union.
This will mean we have to alter all places where this field is used.

More details can be found in issue ASTERISK-1260674

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=117211

By: Digium Subversion (svnbot) 2008-05-19 15:39:28

Repository: asterisk
Revision: 117212

U   trunk/main/channel.c

------------------------------------------------------------------------
r117212 | russell | 2008-05-19 15:39:26 -0500 (Mon, 19 May 2008) | 3 lines

Minor formatting change to test a mantis change ...
(issue ASTERISK-12038)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=117212

By: Digium Subversion (svnbot) 2008-05-19 16:02:54

Repository: asterisk
Revision: 117216

_U  team/mvanbaak/ast_frame_dataunion/
U   team/mvanbaak/ast_frame_dataunion/main/channel.c

------------------------------------------------------------------------
r117216 | mvanbaak | 2008-05-19 16:02:52 -0500 (Mon, 19 May 2008) | 11 lines

Merged revisions 117212 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r117212 | russell | 2008-05-19 22:45:25 +0200 (Mon, 19 May 2008) | 3 lines

Minor formatting change to test a mantis change ...
(issue ASTERISK-12038)

........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=117216

By: Michiel van Baak (mvanbaak) 2008-05-19 17:48:09

svn asterisk/team/mvanbaak/ast_frame_dataunion has the new code.
Please give me feedback. I think it's ready for trunk.

thanks to kevin and russell for all the feedback and hints on this one.

By: Michiel van Baak (mvanbaak) 2008-05-21 18:27:33

01:31 <      MuffinMan> [117710] Committed by mvanbaak on 2008-05-21T23:16:39.395757Z: 00:48 <@      russellb> so ... even with the named union, you can't use initializers ?
01:31 <      MuffinMan> ..00:48 <@      russellb> struct ast_frame f = { .data.ptr = NULL };
01:31 <      MuffinMan> ..00:48 <@      russellb> ?
01:31 <      MuffinMan> ..00:48 <       mvanbaak> russellb: hhmm, where is that
01:31 <      MuffinMan> ..00:48 <       mvanbaak> I think I used that
01:31 <      MuffinMan> ..00:49 <@      russellb> main/audiohook.c, for example
01:31 <      MuffinMan> ..00:49 <@      russellb> -       .data = buf,
01:31 <      MuffinMan> ..00:49 <@      russellb>         .datalen = sizeof(buf),
01:32 <      MuffinMan> ..00:49 <@      russellb>         .samples = samples,
01:32 <      MuffinMan> ..00:49 <@      russellb>     };
01:32 <      MuffinMan> ..00:49 <@      russellb> +   frame.data.ptr = buf;
01:32 <      MuffinMan> ..00:49 <       mvanbaak> ah
01:32 <      MuffinMan> ..00:49 <@      russellb> aside from a few places where that was changed, it looks good
01:32 <      MuffinMan> ..00:49 <       mvanbaak> that must be because of my earlier work on the anonymous union
01:32 <      MuffinMan> ..00:50 <@      russellb> mvanbaak: yeah
01:32 <      MuffinMan> ..
01:32 <      MuffinMan> ..Fixed that. Now I can use it in in an initializer.
01:32 <      MuffinMan> ..
01:32 <      MuffinMan> ..Please have a look at this so I can commit it (or you can)
01:32 <      MuffinMan> ..This looks better then current trunk anyways

By: Digium Subversion (svnbot) 2008-05-22 11:24:02

Repository: asterisk
Revision: 117802

U   trunk/apps/app_alarmreceiver.c
U   trunk/apps/app_chanspy.c
U   trunk/apps/app_dial.c
U   trunk/apps/app_disa.c
U   trunk/apps/app_externalivr.c
U   trunk/apps/app_festival.c
U   trunk/apps/app_followme.c
U   trunk/apps/app_ices.c
U   trunk/apps/app_meetme.c
U   trunk/apps/app_milliwatt.c
U   trunk/apps/app_mp3.c
U   trunk/apps/app_nbscat.c
U   trunk/apps/app_queue.c
U   trunk/apps/app_sms.c
U   trunk/apps/app_speech_utils.c
U   trunk/apps/app_test.c
U   trunk/apps/app_zapbarge.c
U   trunk/apps/app_zapscan.c
U   trunk/channels/chan_alsa.c
U   trunk/channels/chan_console.c
U   trunk/channels/chan_gtalk.c
U   trunk/channels/chan_h323.c
U   trunk/channels/chan_iax2.c
U   trunk/channels/chan_jingle.c
U   trunk/channels/chan_local.c
U   trunk/channels/chan_mgcp.c
U   trunk/channels/chan_misdn.c
U   trunk/channels/chan_oss.c
U   trunk/channels/chan_phone.c
U   trunk/channels/chan_sip.c
U   trunk/channels/chan_skinny.c
U   trunk/channels/chan_unistim.c
U   trunk/channels/chan_zap.c
U   trunk/channels/iax2-parser.c
U   trunk/codecs/codec_a_mu.c
U   trunk/codecs/codec_adpcm.c
U   trunk/codecs/codec_alaw.c
U   trunk/codecs/codec_g722.c
U   trunk/codecs/codec_g726.c
U   trunk/codecs/codec_gsm.c
U   trunk/codecs/codec_lpc10.c
U   trunk/codecs/codec_resample.c
U   trunk/codecs/codec_ulaw.c
U   trunk/codecs/codec_zap.c
U   trunk/formats/format_g723.c
U   trunk/formats/format_g726.c
U   trunk/formats/format_g729.c
U   trunk/formats/format_gsm.c
U   trunk/formats/format_h263.c
U   trunk/formats/format_h264.c
U   trunk/formats/format_ilbc.c
U   trunk/formats/format_jpeg.c
U   trunk/formats/format_pcm.c
U   trunk/formats/format_sln.c
U   trunk/formats/format_sln16.c
U   trunk/formats/format_vox.c
U   trunk/formats/format_wav.c
U   trunk/formats/format_wav_gsm.c
U   trunk/include/asterisk/channel.h
U   trunk/include/asterisk/frame.h
U   trunk/main/abstract_jb.c
U   trunk/main/app.c
U   trunk/main/audiohook.c
U   trunk/main/channel.c
U   trunk/main/dsp.c
U   trunk/main/features.c
U   trunk/main/file.c
U   trunk/main/frame.c
U   trunk/main/indications.c
U   trunk/main/rtp.c
U   trunk/main/slinfactory.c
U   trunk/main/translate.c
U   trunk/main/udptl.c
U   trunk/res/res_adsi.c
U   trunk/res/res_agi.c
U   trunk/res/res_musiconhold.c

------------------------------------------------------------------------
r117802 | mvanbaak | 2008-05-22 11:23:57 -0500 (Thu, 22 May 2008) | 21 lines

- revert change to ast_queue_hangup and create ast_queue_hangup_with_cause
- make data member of the ast_frame struct a named union instead of a void

Recently the ast_queue_hangup function got a new parameter, the hangupcause
Feedback came in that this is no good and that instead a new function should be created.
This I did.

The hangupcause was stored in the seqno member of the ast_frame struct. This is not very
elegant, and since there's already a data member that one should be used.
Problem is, this member was a void *.
Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone
wants to store another type in there in the future.

This commit is so massive, because all ast_frame.data uses have to be
altered to ast_frame.data.data

Thanks russellb and kpfleming for the feedback.

(closes issue ASTERISK-12038)
Reported by: mvanbaak

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=117802

By: Digium Subversion (svnbot) 2008-05-22 12:07:56

Repository: asterisk
Revision: 117831

_U  team/ctooley/excel-sip-changes/
U   team/ctooley/excel-sip-changes/apps/app_alarmreceiver.c
U   team/ctooley/excel-sip-changes/apps/app_chanspy.c
U   team/ctooley/excel-sip-changes/apps/app_dial.c
U   team/ctooley/excel-sip-changes/apps/app_disa.c
U   team/ctooley/excel-sip-changes/apps/app_externalivr.c
U   team/ctooley/excel-sip-changes/apps/app_festival.c
U   team/ctooley/excel-sip-changes/apps/app_followme.c
U   team/ctooley/excel-sip-changes/apps/app_ices.c
U   team/ctooley/excel-sip-changes/apps/app_meetme.c
U   team/ctooley/excel-sip-changes/apps/app_milliwatt.c
U   team/ctooley/excel-sip-changes/apps/app_mp3.c
U   team/ctooley/excel-sip-changes/apps/app_nbscat.c
U   team/ctooley/excel-sip-changes/apps/app_queue.c
U   team/ctooley/excel-sip-changes/apps/app_sms.c
U   team/ctooley/excel-sip-changes/apps/app_speech_utils.c
U   team/ctooley/excel-sip-changes/apps/app_test.c
U   team/ctooley/excel-sip-changes/apps/app_zapbarge.c
U   team/ctooley/excel-sip-changes/apps/app_zapscan.c
U   team/ctooley/excel-sip-changes/channels/chan_alsa.c
U   team/ctooley/excel-sip-changes/channels/chan_console.c
U   team/ctooley/excel-sip-changes/channels/chan_gtalk.c
U   team/ctooley/excel-sip-changes/channels/chan_h323.c
U   team/ctooley/excel-sip-changes/channels/chan_iax2.c
U   team/ctooley/excel-sip-changes/channels/chan_jingle.c
U   team/ctooley/excel-sip-changes/channels/chan_local.c
U   team/ctooley/excel-sip-changes/channels/chan_mgcp.c
U   team/ctooley/excel-sip-changes/channels/chan_misdn.c
U   team/ctooley/excel-sip-changes/channels/chan_oss.c
U   team/ctooley/excel-sip-changes/channels/chan_phone.c
U   team/ctooley/excel-sip-changes/channels/chan_sip.c
U   team/ctooley/excel-sip-changes/channels/chan_skinny.c
U   team/ctooley/excel-sip-changes/channels/chan_unistim.c
U   team/ctooley/excel-sip-changes/channels/chan_zap.c
U   team/ctooley/excel-sip-changes/channels/iax2-parser.c
U   team/ctooley/excel-sip-changes/codecs/codec_a_mu.c
U   team/ctooley/excel-sip-changes/codecs/codec_adpcm.c
U   team/ctooley/excel-sip-changes/codecs/codec_alaw.c
U   team/ctooley/excel-sip-changes/codecs/codec_g722.c
U   team/ctooley/excel-sip-changes/codecs/codec_g726.c
U   team/ctooley/excel-sip-changes/codecs/codec_gsm.c
U   team/ctooley/excel-sip-changes/codecs/codec_lpc10.c
U   team/ctooley/excel-sip-changes/codecs/codec_resample.c
U   team/ctooley/excel-sip-changes/codecs/codec_ulaw.c
U   team/ctooley/excel-sip-changes/codecs/codec_zap.c
U   team/ctooley/excel-sip-changes/configs/jabber.conf.sample
U   team/ctooley/excel-sip-changes/formats/format_g723.c
U   team/ctooley/excel-sip-changes/formats/format_g726.c
U   team/ctooley/excel-sip-changes/formats/format_g729.c
U   team/ctooley/excel-sip-changes/formats/format_gsm.c
U   team/ctooley/excel-sip-changes/formats/format_h263.c
U   team/ctooley/excel-sip-changes/formats/format_h264.c
U   team/ctooley/excel-sip-changes/formats/format_ilbc.c
U   team/ctooley/excel-sip-changes/formats/format_jpeg.c
U   team/ctooley/excel-sip-changes/formats/format_pcm.c
U   team/ctooley/excel-sip-changes/formats/format_sln.c
U   team/ctooley/excel-sip-changes/formats/format_sln16.c
U   team/ctooley/excel-sip-changes/formats/format_vox.c
U   team/ctooley/excel-sip-changes/formats/format_wav.c
U   team/ctooley/excel-sip-changes/formats/format_wav_gsm.c
U   team/ctooley/excel-sip-changes/include/asterisk/channel.h
U   team/ctooley/excel-sip-changes/include/asterisk/frame.h
U   team/ctooley/excel-sip-changes/main/abstract_jb.c
U   team/ctooley/excel-sip-changes/main/app.c
U   team/ctooley/excel-sip-changes/main/audiohook.c
U   team/ctooley/excel-sip-changes/main/channel.c
U   team/ctooley/excel-sip-changes/main/dsp.c
U   team/ctooley/excel-sip-changes/main/features.c
U   team/ctooley/excel-sip-changes/main/file.c
U   team/ctooley/excel-sip-changes/main/frame.c
U   team/ctooley/excel-sip-changes/main/indications.c
U   team/ctooley/excel-sip-changes/main/rtp.c
U   team/ctooley/excel-sip-changes/main/slinfactory.c
U   team/ctooley/excel-sip-changes/main/translate.c
U   team/ctooley/excel-sip-changes/main/udptl.c
U   team/ctooley/excel-sip-changes/res/res_adsi.c
U   team/ctooley/excel-sip-changes/res/res_agi.c
U   team/ctooley/excel-sip-changes/res/res_musiconhold.c

------------------------------------------------------------------------
r117831 | ctooley | 2008-05-22 12:07:53 -0500 (Thu, 22 May 2008) | 60 lines

Merged revisions 117792,117794,117802,117812,117822 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r117792 | seanbright | 2008-05-22 10:49:17 -0500 (Thu, 22 May 2008) | 1 line

Minor text fix.  roster -> resource.
................
r117794 | mmichelson | 2008-05-22 11:05:18 -0500 (Thu, 22 May 2008) | 3 lines

Committing a fix pointed out by Atis Lezdins on the asterisk-dev list. Thanks!


................
r117802 | mvanbaak | 2008-05-22 11:29:54 -0500 (Thu, 22 May 2008) | 21 lines

- revert change to ast_queue_hangup and create ast_queue_hangup_with_cause
- make data member of the ast_frame struct a named union instead of a void

Recently the ast_queue_hangup function got a new parameter, the hangupcause
Feedback came in that this is no good and that instead a new function should be created.
This I did.

The hangupcause was stored in the seqno member of the ast_frame struct. This is not very
elegant, and since there's already a data member that one should be used.
Problem is, this member was a void *.
Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone
wants to store another type in there in the future.

This commit is so massive, because all ast_frame.data uses have to be
altered to ast_frame.data.data

Thanks russellb and kpfleming for the feedback.

(closes issue ASTERISK-12038)
Reported by: mvanbaak

................
r117812 | tilghman | 2008-05-22 11:50:32 -0500 (Thu, 22 May 2008) | 13 lines

Blocked revisions 117809 via svnmerge

........
r117809 | tilghman | 2008-05-22 11:47:03 -0500 (Thu, 22 May 2008) | 6 lines

Take into account the length of delimiters when calculating result string length.
(closes issue ASTERISK-12059)
Reported by: adomjan
Patches:
      func_realtime.c-longdelimiter.patch uploaded by adomjan (license 487)

........

................
r117822 | mvanbaak | 2008-05-22 12:06:00 -0500 (Thu, 22 May 2008) | 2 lines

forgot chan_misdn

................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=117831

By: Digium Subversion (svnbot) 2008-05-22 15:13:21

Repository: asterisk
Revision: 117957

_U  team/seanbright/resolve-shadow-warnings/
U   team/seanbright/resolve-shadow-warnings/apps/app_alarmreceiver.c
U   team/seanbright/resolve-shadow-warnings/apps/app_chanspy.c
U   team/seanbright/resolve-shadow-warnings/apps/app_dial.c
U   team/seanbright/resolve-shadow-warnings/apps/app_disa.c
U   team/seanbright/resolve-shadow-warnings/apps/app_externalivr.c
U   team/seanbright/resolve-shadow-warnings/apps/app_festival.c
U   team/seanbright/resolve-shadow-warnings/apps/app_followme.c
U   team/seanbright/resolve-shadow-warnings/apps/app_ices.c
U   team/seanbright/resolve-shadow-warnings/apps/app_jack.c
U   team/seanbright/resolve-shadow-warnings/apps/app_meetme.c
U   team/seanbright/resolve-shadow-warnings/apps/app_milliwatt.c
U   team/seanbright/resolve-shadow-warnings/apps/app_mp3.c
U   team/seanbright/resolve-shadow-warnings/apps/app_nbscat.c
U   team/seanbright/resolve-shadow-warnings/apps/app_queue.c
U   team/seanbright/resolve-shadow-warnings/apps/app_sms.c
U   team/seanbright/resolve-shadow-warnings/apps/app_speech_utils.c
U   team/seanbright/resolve-shadow-warnings/apps/app_test.c
U   team/seanbright/resolve-shadow-warnings/apps/app_zapbarge.c
U   team/seanbright/resolve-shadow-warnings/apps/app_zapscan.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_alsa.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_console.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_gtalk.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_h323.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_iax2.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_jingle.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_local.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_mgcp.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_misdn.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_nbs.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_oss.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_phone.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_sip.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_skinny.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_unistim.c
U   team/seanbright/resolve-shadow-warnings/channels/chan_zap.c
U   team/seanbright/resolve-shadow-warnings/channels/iax2-parser.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_a_mu.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_adpcm.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_alaw.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_g722.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_g726.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_gsm.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_lpc10.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_resample.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_speex.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_ulaw.c
U   team/seanbright/resolve-shadow-warnings/codecs/codec_zap.c
U   team/seanbright/resolve-shadow-warnings/configs/jabber.conf.sample
U   team/seanbright/resolve-shadow-warnings/formats/format_g723.c
U   team/seanbright/resolve-shadow-warnings/formats/format_g726.c
U   team/seanbright/resolve-shadow-warnings/formats/format_g729.c
U   team/seanbright/resolve-shadow-warnings/formats/format_gsm.c
U   team/seanbright/resolve-shadow-warnings/formats/format_h263.c
U   team/seanbright/resolve-shadow-warnings/formats/format_h264.c
U   team/seanbright/resolve-shadow-warnings/formats/format_ilbc.c
U   team/seanbright/resolve-shadow-warnings/formats/format_jpeg.c
U   team/seanbright/resolve-shadow-warnings/formats/format_ogg_vorbis.c
U   team/seanbright/resolve-shadow-warnings/formats/format_pcm.c
U   team/seanbright/resolve-shadow-warnings/formats/format_sln.c
U   team/seanbright/resolve-shadow-warnings/formats/format_sln16.c
U   team/seanbright/resolve-shadow-warnings/formats/format_vox.c
U   team/seanbright/resolve-shadow-warnings/formats/format_wav.c
U   team/seanbright/resolve-shadow-warnings/formats/format_wav_gsm.c
U   team/seanbright/resolve-shadow-warnings/funcs/func_speex.c
U   team/seanbright/resolve-shadow-warnings/include/asterisk/channel.h
U   team/seanbright/resolve-shadow-warnings/include/asterisk/frame.h
U   team/seanbright/resolve-shadow-warnings/main/abstract_jb.c
U   team/seanbright/resolve-shadow-warnings/main/app.c
U   team/seanbright/resolve-shadow-warnings/main/asterisk.c
U   team/seanbright/resolve-shadow-warnings/main/audiohook.c
U   team/seanbright/resolve-shadow-warnings/main/channel.c
U   team/seanbright/resolve-shadow-warnings/main/dsp.c
U   team/seanbright/resolve-shadow-warnings/main/features.c
U   team/seanbright/resolve-shadow-warnings/main/file.c
U   team/seanbright/resolve-shadow-warnings/main/frame.c
U   team/seanbright/resolve-shadow-warnings/main/indications.c
U   team/seanbright/resolve-shadow-warnings/main/manager.c
U   team/seanbright/resolve-shadow-warnings/main/rtp.c
U   team/seanbright/resolve-shadow-warnings/main/slinfactory.c
U   team/seanbright/resolve-shadow-warnings/main/translate.c
U   team/seanbright/resolve-shadow-warnings/main/udptl.c
U   team/seanbright/resolve-shadow-warnings/res/res_adsi.c
U   team/seanbright/resolve-shadow-warnings/res/res_agi.c
U   team/seanbright/resolve-shadow-warnings/res/res_musiconhold.c

------------------------------------------------------------------------
r117957 | seanbright | 2008-05-22 15:13:18 -0500 (Thu, 22 May 2008) | 92 lines

Merged revisions 117792,117794,117802,117812,117822,117825,117828,117834,117870,117900 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r117792 | seanbright | 2008-05-22 11:49:17 -0400 (Thu, 22 May 2008) | 1 line

Minor text fix.  roster -> resource.
................
r117794 | mmichelson | 2008-05-22 12:05:18 -0400 (Thu, 22 May 2008) | 3 lines

Committing a fix pointed out by Atis Lezdins on the asterisk-dev list. Thanks!


................
r117802 | mvanbaak | 2008-05-22 12:29:54 -0400 (Thu, 22 May 2008) | 21 lines

- revert change to ast_queue_hangup and create ast_queue_hangup_with_cause
- make data member of the ast_frame struct a named union instead of a void

Recently the ast_queue_hangup function got a new parameter, the hangupcause
Feedback came in that this is no good and that instead a new function should be created.
This I did.

The hangupcause was stored in the seqno member of the ast_frame struct. This is not very
elegant, and since there's already a data member that one should be used.
Problem is, this member was a void *.
Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone
wants to store another type in there in the future.

This commit is so massive, because all ast_frame.data uses have to be
altered to ast_frame.data.data

Thanks russellb and kpfleming for the feedback.

(closes issue ASTERISK-12038)
Reported by: mvanbaak

................
r117812 | tilghman | 2008-05-22 12:50:32 -0400 (Thu, 22 May 2008) | 13 lines

Blocked revisions 117809 via svnmerge

........
r117809 | tilghman | 2008-05-22 11:47:03 -0500 (Thu, 22 May 2008) | 6 lines

Take into account the length of delimiters when calculating result string length.
(closes issue ASTERISK-12059)
Reported by: adomjan
Patches:
      func_realtime.c-longdelimiter.patch uploaded by adomjan (license 487)

........

................
r117822 | mvanbaak | 2008-05-22 13:06:00 -0400 (Thu, 22 May 2008) | 2 lines

forgot chan_misdn

................
r117825 | mvanbaak | 2008-05-22 13:08:18 -0400 (Thu, 22 May 2008) | 2 lines

oops

................
r117828 | qwell | 2008-05-22 13:10:53 -0400 (Thu, 22 May 2008) | 1 line

Fix a few places where frame data was used directly.
................
r117834 | mvanbaak | 2008-05-22 13:16:08 -0400 (Thu, 22 May 2008) | 2 lines

chan_console fixes because of ast_frame.data => ast_frame.data.ptr

................
r117870 | mvanbaak | 2008-05-22 13:50:40 -0400 (Thu, 22 May 2008) | 2 lines

one more place I forgot

................
r117900 | tilghman | 2008-05-22 14:54:41 -0400 (Thu, 22 May 2008) | 10 lines

Merged revisions 117899 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r117899 | tilghman | 2008-05-22 13:53:53 -0500 (Thu, 22 May 2008) | 2 lines

Also remove preamble from asynchronous events (reported by jsmith on #asterisk-dev)

........

................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=117957