Author: rizzo
Date: Mon Jul 30 05:55:37 2007
New Revision: 77766

URL: http://svn.digium.com/view/asterisk?view=rev&rev=77766
Log:
minor code rearrangements:
+ place the link field at the beginning of struct sip_pvt, 
  and not somewhere in the middle;
 
+ in __sip_reliable_xmit, remove a duplicate assignment, and
  put the statements in a more logical order (i.e. first copy
  the payload and associated info, then copy arguments from the
  caller, then finish initializing the headers...)
 
nothing to backport.


Modified:
    trunk/channels/chan_sip.c

Modified: trunk/channels/chan_sip.c
URL: 
http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=77766&r1=77765&r2=77766
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Mon Jul 30 05:55:37 2007
@@ -989,6 +989,7 @@
  * descriptors (dialoglist).
  */
 struct sip_pvt {
+       struct sip_pvt *next;                   /*!< Next dialog in chain */
        ast_mutex_t pvt_lock;                   /*!< Dialog private lock */
        enum invitestates invitestate;          /*!< Track state of SIP_INVITEs 
*/
        int method;                             /*!< SIP method that opened 
this dialog */
@@ -1114,7 +1115,6 @@
        struct sip_pkt *packets;                /*!< Packets scheduled for 
re-transmission */
        struct sip_history_head *history;       /*!< History of this SIP dialog 
*/
        struct ast_variable *chanvars;          /*!< Channel variables to set 
for inbound call */
-       struct sip_pvt *next;                   /*!< Next dialog in chain */
        struct sip_invite_param *options;       /*!< Options for INVITE */
        int autoframing;                        /*!< The number of Asters we 
group in a Pyroflax
                                                        before strolling to the 
Grokyzpå
@@ -2340,18 +2340,19 @@
 
        if (!(pkt = ast_calloc(1, sizeof(*pkt) + len + 1)))
                return AST_FAILURE;
+       /* copy data, add a terminator and save length */
        memcpy(pkt->data, data, len);
+       pkt->data[len] = '\0';
+       pkt->packetlen = len;
+       /* copy other parameters from the caller */
        pkt->method = sipmethod;
-       pkt->packetlen = len;
+       pkt->seqno = seqno;
+       pkt->is_resp = resp;
+       pkt->is_fatal = fatal;
+       pkt->owner = dialog_ref(p);
        pkt->next = p->packets;
-       pkt->owner = dialog_ref(p);
-       pkt->seqno = seqno;
-       if (resp)
-               pkt->is_resp = 1;
-       pkt->data[len] = '\0';
+       p->packets = pkt;
        pkt->timer_t1 = p->timer_t1;    /* Set SIP timer T1 */
-       if (fatal)
-               pkt->is_fatal = 1;
        if (pkt->timer_t1)
                siptimer_a = pkt->timer_t1 * 2;
 
@@ -2359,8 +2360,6 @@
        pkt->retransid = ast_sched_add_variable(sched, siptimer_a, retrans_pkt, 
pkt, 1);
        if (sipdebug)
                ast_debug(4, "*** SIP TIMER: Initalizing retransmit timer on 
packet: Id  #%d\n", pkt->retransid);
-       pkt->next = p->packets;
-       p->packets = pkt;
        if (sipmethod == SIP_INVITE) {
                /* Note this is a pending invite */
                p->pendinginvite = seqno;


_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to