Author: rizzo
Date: Fri Jul 20 20:37:03 2007
New Revision: 76225

URL: http://svn.digium.com/view/asterisk?view=rev&rev=76225
Log:
more  diff reduction and a bug fix: use !ast_strlen_zero(x) to check
for a non-empty string.

Modified:
    team/rizzo/astobj2/channels/chan_sip.c

Modified: team/rizzo/astobj2/channels/chan_sip.c
URL: 
http://svn.digium.com/view/asterisk/team/rizzo/astobj2/channels/chan_sip.c?view=diff&rev=76225&r1=76224&r2=76225
==============================================================================
--- team/rizzo/astobj2/channels/chan_sip.c (original)
+++ team/rizzo/astobj2/channels/chan_sip.c Fri Jul 20 20:37:03 2007
@@ -1758,12 +1758,7 @@
 static struct ast_udptl *sip_get_udptl_peer(struct ast_channel *chan);
 static int sip_set_udptl_peer(struct ast_channel *chan, struct ast_udptl 
*udptl);
 
-/*! \brief Definition of this channel for PBX channel registration
- * Note, in the load function we will define another ast_channel_tech
- * entry, not registered and to be used with SIP INFO DTMF frames,
- * which has send_digit_begin = NULL to inform the core that
- * the channel doesn't want DTMF BEGIN frames.
- */
+/*! \brief Definition of this channel for PBX channel registration */
 static const struct ast_channel_tech sip_tech = {
        .type = "SIP",
        .description = "Session Initiation Protocol (SIP)",
@@ -1789,6 +1784,9 @@
        .func_channel_read = acf_channel_read,
 };
 
+/*! \brief This version of the sip channel tech has no send_digit_begin
+ *  callback.  This is for use with channels using SIP INFO DTMF so that
+ *  the core knows that the channel doesn't want DTMF BEGIN frames. */
 static const struct ast_channel_tech sip_tech_info = {
        .type = "SIP",
        .description = "Session Initiation Protocol (SIP)",
@@ -1812,6 +1810,7 @@
        .send_text = sip_sendtext,      /* called with chan locked */
 };
 
+/* wrapper macro to tell whether t points to one of the sip_tech descriptors */
 #define IS_SIP_TECH(t) ((t) == &sip_tech || (t) == &sip_tech_info)
 
 /*! \begin map from an integer value to a string */
@@ -5287,7 +5286,7 @@
        regobjs++;
        ASTOBJ_INIT(reg);
        ast_string_field_set(reg, callback, callback);
-       if (username)
+       if (!ast_strlen_zero(username))
                ast_string_field_set(reg, username, username);
        if (hostname)
                ast_string_field_set(reg, hostname, hostname);
@@ -5449,7 +5448,6 @@
                return 0;
 
        search += 10;
-
        if (ast_strlen_zero(search))
                return 0;
 
@@ -5458,6 +5456,7 @@
                search++;
                boundaryisquoted = TRUE;
        }
+
        /* make a duplicate of the string, with two extra characters
           at the beginning */
        boundary = ast_strdupa(search - 2);
@@ -6617,6 +6616,7 @@
                p->sa = *sin;
                ast_sip_ouraddrfor(&p->sa.sin_addr, &p->ourip);
        }
+
        p->branch = ast_random();
        make_our_tag(p->tag, sizeof(p->tag));
        p->ocseq = INITIAL_CSEQ;
@@ -15475,7 +15475,7 @@
        AST_STANDARD_APP_ARGS(args, parse);
 
        /* Sanity check */
-       if (chan->tech != &sip_tech && chan->tech != &sip_tech_info) {
+       if (!IS_SIP_TECH(chan->tech)) {
                ast_log(LOG_ERROR, "Cannot call %s on a non-SIP channel\n", 
funcname);
                return 0;
        }


_______________________________________________
--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