Spacing changes only
authorTilghman Lesher <tilghman@meg.abyt.es>
Wed, 4 Mar 2009 20:48:42 +0000 (20:48 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Wed, 4 Mar 2009 20:48:42 +0000 (20:48 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180259 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/abstract_jb.c
main/acl.c
main/aescrypt.c
main/alaw.c
main/app.c

index 440d381..d7ff735 100644 (file)
@@ -23,7 +23,7 @@
 /*! \file
  *
  * \brief Common implementation-independent jitterbuffer stuff.
- * 
+ *
  * \author Slav Klenov <slav@securax.org>
  *
  *
@@ -110,7 +110,7 @@ static void jb_force_resynch_adaptive(void *jb);
 static void jb_empty_and_reset_adaptive(void *jb);
 
 /* Available jb implementations */
-static struct ast_jb_impl avail_impl[] = 
+static struct ast_jb_impl avail_impl[] =
 {
        {
                .name = "fixed",
@@ -183,12 +183,13 @@ static void jb_choose_impl(struct ast_channel *chan)
        struct ast_jb_conf *jbconf = &jb->conf;
        struct ast_jb_impl *test_impl;
        int i, avail_impl_count = ARRAY_LEN(avail_impl);
-       
+
        jb->impl = &avail_impl[default_impl];
-       
-       if (ast_strlen_zero(jbconf->impl))
+
+       if (ast_strlen_zero(jbconf->impl)) {
                return;
-               
+       }
+
        for (i = 0; i < avail_impl_count; i++) {
                test_impl = &avail_impl[i];
                if (!strcasecmp(jbconf->impl, test_impl->name)) {
@@ -229,14 +230,14 @@ int ast_jb_do_usecheck(struct ast_channel *c0, struct ast_channel *c1)
                        }
                        ast_set_flag(jb0, JB_TIMEBASE_INITIALIZED);
                }
-       
+
                if (!c0_jb_created) {
                        jb_choose_impl(c0);
                }
 
                inuse = 1;
        }
-       
+
        /* Determine whether audio going to c1 needs a jitter buffer */
        if (((!c1_wants_jitter && c0_creates_jitter) || (c1_force_jb && c0_creates_jitter)) && c1_jb_enabled) {
                ast_set_flag(jb1, JB_USE);
@@ -248,7 +249,7 @@ int ast_jb_do_usecheck(struct ast_channel *c0, struct ast_channel *c1)
                        }
                        ast_set_flag(jb1, JB_TIMEBASE_INITIALIZED);
                }
-               
+
                if (!c1_jb_created) {
                        jb_choose_impl(c1);
                }
@@ -269,32 +270,32 @@ int ast_jb_get_when_to_wakeup(struct ast_channel *c0, struct ast_channel *c1, in
        int c1_jb_is_created = ast_test_flag(jb1, JB_CREATED);
        int wait, wait0, wait1;
        struct timeval tv_now;
-       
+
        if (time_left == 0) {
                /* No time left - the bridge will be retried */
                /* TODO: Test disable this */
                /*return 0;*/
        }
-       
+
        if (time_left < 0) {
                time_left = INT_MAX;
        }
-       
+
        gettimeofday(&tv_now, NULL);
-       
+
        wait0 = (c0_use_jb && c0_jb_is_created) ? jb0->next - get_now(jb0, &tv_now) : time_left;
        wait1 = (c1_use_jb && c1_jb_is_created) ? jb1->next - get_now(jb1, &tv_now) : time_left;
-       
+
        wait = wait0 < wait1 ? wait0 : wait1;
        wait = wait < time_left ? wait : time_left;
-       
+
        if (wait == INT_MAX) {
                wait = -1;
        } else if (wait < 1) {
                /* don't let wait=0, because this can cause the pbx thread to loop without any sleeping at all */
                wait = 1;
        }
-       
+
        return wait;
 }
 
@@ -306,7 +307,7 @@ int ast_jb_put(struct ast_channel *chan, struct ast_frame *f)
        void *jbobj = jb->jbobj;
        struct ast_frame *frr;
        long now = 0;
-       
+
        if (!ast_test_flag(jb, JB_USE))
                return -1;
 
@@ -315,7 +316,7 @@ int ast_jb_put(struct ast_channel *chan, struct ast_frame *f)
                        jb_framelog("JB_PUT {now=%ld}: Received DTMF frame. Force resynching jb...\n", now);
                        jbimpl->force_resync(jbobj);
                }
-               
+
                return -1;
        }
 
@@ -350,7 +351,7 @@ int ast_jb_put(struct ast_channel *chan, struct ast_frame *f)
                        jb_framelog("JB_PUT {now=%ld}: Dropped frame with ts=%ld and len=%ld\n", now, frr->ts, frr->len);
                        ast_frfree(frr);
                        /*return -1;*/
-                       /* TODO: Check this fix - should return 0 here, because the dropped frame shouldn't 
+                       /* TODO: Check this fix - should return 0 here, because the dropped frame shouldn't
                           be delivered at all */
                        return 0;
                }
@@ -372,10 +373,10 @@ void ast_jb_get_and_deliver(struct ast_channel *c0, struct ast_channel *c1)
        int c0_jb_is_created = ast_test_flag(jb0, JB_CREATED);
        int c1_use_jb = ast_test_flag(jb1, JB_USE);
        int c1_jb_is_created = ast_test_flag(jb1, JB_CREATED);
-       
+
        if (c0_use_jb && c0_jb_is_created)
                jb_get_and_deliver(c0);
-       
+
        if (c1_use_jb && c1_jb_is_created)
                jb_get_and_deliver(c1);
 }
@@ -389,19 +390,19 @@ static void jb_get_and_deliver(struct ast_channel *chan)
        struct ast_frame *f, finterp;
        long now;
        int interpolation_len, res;
-       
+
        now = get_now(jb, NULL);
        jb->next = jbimpl->next(jbobj);
        if (now < jb->next) {
                jb_framelog("\tJB_GET {now=%ld}: now < next=%ld\n", now, jb->next);
                return;
        }
-       
+
        while (now >= jb->next) {
                interpolation_len = ast_codec_interp_len(jb->last_format);
-               
+
                res = jbimpl->get(jbobj, &f, now, interpolation_len);
-               
+
                switch (res) {
                case JB_IMPL_OK:
                        /* deliver the frame */
@@ -439,7 +440,7 @@ static void jb_get_and_deliver(struct ast_channel *chan)
                        ast_assert("JB type unknown" == NULL);
                        break;
                }
-               
+
                jb->next = jbimpl->next(jbobj);
        }
 }
@@ -462,10 +463,10 @@ static int create_jb(struct ast_channel *chan, struct ast_frame *frr)
                ast_log(LOG_WARNING, "Failed to create jitterbuffer on channel '%s'\n", chan->name);
                return -1;
        }
-       
+
        now = get_now(jb, NULL);
        res = jbimpl->put_first(jbobj, frr, now);
-       
+
        /* The result of putting the first frame should not differ from OK. However, its possible
           some implementations (i.e. adaptive's when resynch_threshold is specified) to drop it. */
        if (res != JB_IMPL_OK) {
@@ -475,30 +476,30 @@ static int create_jb(struct ast_channel *chan, struct ast_frame *frr)
                return -1;
                */
        }
-       
+
        /* Init next */
        jb->next = jbimpl->next(jbobj);
-       
+
        /* Init last format for a first time. */
        jb->last_format = frr->subclass;
-       
+
        /* Create a frame log file */
        if (ast_test_flag(jbconf, AST_JB_LOG)) {
                char safe_logfile[30] = "/tmp/logfile-XXXXXX";
                int safe_fd;
                snprintf(name2, sizeof(name2), "%s", chan->name);
-               tmp = strchr(name2, '/');
-               if (tmp)
+               if ((tmp = strchr(name2, '/'))) {
                        *tmp = '#';
-               
+               }
+
                bridged = ast_bridged_channel(chan);
                /* We should always have bridged chan if a jitterbuffer is in use */
                ast_assert(bridged != NULL);
 
                snprintf(name1, sizeof(name1), "%s", bridged->name);
-               tmp = strchr(name1, '/');
-               if (tmp)
+               if ((tmp = strchr(name1, '/'))) {
                        *tmp = '#';
+               }
 
                snprintf(logfile_pathname, sizeof(logfile_pathname),
                        "/tmp/ast_%s_jb_%s--%s.log", jbimpl->name, name1, name2);
@@ -510,20 +511,22 @@ static int create_jb(struct ast_channel *chan, struct ast_frame *frr)
                        ast_log(LOG_ERROR, "Failed to create frame log file with pathname '%s': %s\n", logfile_pathname, strerror(errno));
                }
 
-               if (res == JB_IMPL_OK)
+               if (res == JB_IMPL_OK) {
                        jb_framelog("JB_PUT_FIRST {now=%ld}: Queued frame with ts=%ld and len=%ld\n",
                                now, frr->ts, frr->len);
-               else
+               } else {
                        jb_framelog("JB_PUT_FIRST {now=%ld}: Dropped frame with ts=%ld and len=%ld\n",
                                now, frr->ts, frr->len);
+               }
        }
 
        ast_verb(3, "%s jitterbuffer created on channel %s\n", jbimpl->name, chan->name);
-       
+
        /* Free the frame if it has not been queued in the jb */
-       if (res != JB_IMPL_OK)
+       if (res != JB_IMPL_OK) {
                ast_frfree(frr);
-       
+       }
+
        return 0;
 }
 
@@ -539,16 +542,16 @@ void ast_jb_destroy(struct ast_channel *chan)
                fclose(jb->logfile);
                jb->logfile = NULL;
        }
-       
+
        if (ast_test_flag(jb, JB_CREATED)) {
                /* Remove and free all frames still queued in jb */
                while (jbimpl->remove(jbobj, &f) == JB_IMPL_OK) {
                        ast_frfree(f);
                }
-               
+
                jbimpl->destroy(jbobj);
                jb->jbobj = NULL;
-               
+
                ast_clear_flag(jb, JB_CREATED);
 
                ast_verb(3, "%s jitterbuffer destroyed on channel %s\n", jbimpl->name, chan->name);
@@ -574,12 +577,13 @@ int ast_jb_read_conf(struct ast_jb_conf *conf, const char *varname, const char *
        int prefixlen = sizeof(AST_JB_CONF_PREFIX) - 1;
        const char *name;
        int tmp;
-       
-       if (strncasecmp(AST_JB_CONF_PREFIX, varname, prefixlen))
+
+       if (strncasecmp(AST_JB_CONF_PREFIX, varname, prefixlen)) {
                return -1;
-       
+       }
+
        name = varname + prefixlen;
-       
+
        if (!strcasecmp(name, AST_JB_CONF_ENABLE)) {
                ast_set2_flag(conf, ast_true(value), AST_JB_ENABLED);
        } else if (!strcasecmp(name, AST_JB_CONF_FORCE)) {
@@ -598,7 +602,7 @@ int ast_jb_read_conf(struct ast_jb_conf *conf, const char *varname, const char *
        } else {
                return -1;
        }
-       
+
        return 0;
 }
 
@@ -648,7 +652,7 @@ static void * jb_create_fixed(struct ast_jb_conf *general_config, long resynch_t
 static void jb_destroy_fixed(void *jb)
 {
        struct fixed_jb *fixedjb = (struct fixed_jb *) jb;
-       
+
        /* destroy the jb */
        fixed_jb_destroy(fixedjb);
 }
@@ -658,9 +662,9 @@ static int jb_put_first_fixed(void *jb, struct ast_frame *fin, long now)
 {
        struct fixed_jb *fixedjb = (struct fixed_jb *) jb;
        int res;
-       
+
        res = fixed_jb_put_first(fixedjb, fin, fin->len, fin->ts, now);
-       
+
        return fixed_to_abstract_code[res];
 }
 
@@ -669,9 +673,9 @@ static int jb_put_fixed(void *jb, struct ast_frame *fin, long now)
 {
        struct fixed_jb *fixedjb = (struct fixed_jb *) jb;
        int res;
-       
+
        res = fixed_jb_put(fixedjb, fin, fin->len, fin->ts, now);
-       
+
        return fixed_to_abstract_code[res];
 }
 
@@ -681,10 +685,10 @@ static int jb_get_fixed(void *jb, struct ast_frame **fout, long now, long interp
        struct fixed_jb *fixedjb = (struct fixed_jb *) jb;
        struct fixed_jb_frame frame;
        int res;
-       
+
        res = fixed_jb_get(fixedjb, &frame, now, interpl);
        *fout = frame.data;
-       
+
        return fixed_to_abstract_code[res];
 }
 
@@ -692,7 +696,7 @@ static int jb_get_fixed(void *jb, struct ast_frame **fout, long now, long interp
 static long jb_next_fixed(void *jb)
 {
        struct fixed_jb *fixedjb = (struct fixed_jb *) jb;
-       
+
        return fixed_jb_next(fixedjb);
 }
 
@@ -702,10 +706,10 @@ static int jb_remove_fixed(void *jb, struct ast_frame **fout)
        struct fixed_jb *fixedjb = (struct fixed_jb *) jb;
        struct fixed_jb_frame frame;
        int res;
-       
+
        res = fixed_jb_remove(fixedjb, &frame);
        *fout = frame.data;
-       
+
        return fixed_to_abstract_code[res];
 }
 
@@ -713,7 +717,7 @@ static int jb_remove_fixed(void *jb, struct ast_frame **fout)
 static void jb_force_resynch_fixed(void *jb)
 {
        struct fixed_jb *fixedjb = (struct fixed_jb *) jb;
-       
+
        fixed_jb_set_force_resynch(fixedjb);
 }
 
@@ -741,7 +745,7 @@ static void *jb_create_adaptive(struct ast_jb_conf *general_config, long resynch
                jbconf.max_contig_interp = 10;
                jb_setconf(adaptivejb, &jbconf);
        }
-       
+
        return adaptivejb;
 }
 
@@ -749,7 +753,7 @@ static void *jb_create_adaptive(struct ast_jb_conf *general_config, long resynch
 static void jb_destroy_adaptive(void *jb)
 {
        jitterbuf *adaptivejb = (jitterbuf *) jb;
-       
+
        jb_destroy(adaptivejb);
 }
 
@@ -764,9 +768,9 @@ static int jb_put_adaptive(void *jb, struct ast_frame *fin, long now)
 {
        jitterbuf *adaptivejb = (jitterbuf *) jb;
        int res;
-       
+
        res = jb_put(adaptivejb, fin, JB_TYPE_VOICE, fin->len, fin->ts, now);
-       
+
        return adaptive_to_abstract_code[res];
 }
 
@@ -776,10 +780,10 @@ static int jb_get_adaptive(void *jb, struct ast_frame **fout, long now, long int
        jitterbuf *adaptivejb = (jitterbuf *) jb;
        jb_frame frame;
        int res;
-       
+
        res = jb_get(adaptivejb, &frame, now, interpl);
        *fout = frame.data;
-       
+
        return adaptive_to_abstract_code[res];
 }
 
@@ -787,7 +791,7 @@ static int jb_get_adaptive(void *jb, struct ast_frame **fout, long now, long int
 static long jb_next_adaptive(void *jb)
 {
        jitterbuf *adaptivejb = (jitterbuf *) jb;
-       
+
        return jb_next(adaptivejb);
 }
 
@@ -797,10 +801,10 @@ static int jb_remove_adaptive(void *jb, struct ast_frame **fout)
        jitterbuf *adaptivejb = (jitterbuf *) jb;
        jb_frame frame;
        int res;
-       
+
        res = jb_getall(adaptivejb, &frame);
        *fout = frame.data;
-       
+
        return adaptive_to_abstract_code[res];
 }
 
index 0787274..3484c71 100644 (file)
@@ -61,36 +61,37 @@ static void score_address(const struct sockaddr_in *sin, struct in_addr *best_ad
        address = ast_inet_ntoa(sin->sin_addr);
 
        /* RFC 1700 alias for the local network */
-       if (address[0] == '0')
+       if (address[0] == '0') {
                score = -25;
        /* RFC 1700 localnet */
-       else if (strncmp(address, "127", 3) == 0)
+       } else if (strncmp(address, "127", 3) == 0) {
                score = -20;
        /* RFC 1918 non-public address space */
-       else if (strncmp(address, "10.", 3) == 0)
+       } else if (strncmp(address, "10.", 3) == 0) {
                score = -5;
        /* RFC 1918 non-public address space */
-       else if (strncmp(address, "172", 3) == 0) {
+       } else if (strncmp(address, "172", 3) == 0) {
                /* 172.16.0.0 - 172.19.255.255, but not 172.160.0.0 - 172.169.255.255 */
-               if (address[4] == '1' && address[5] >= '6' && address[6] == '.')
+               if (address[4] == '1' && address[5] >= '6' && address[6] == '.') {
                        score = -5;
                /* 172.20.0.0 - 172.29.255.255, but not 172.200.0.0 - 172.255.255.255 nor 172.2.0.0 - 172.2.255.255 */
-               else if (address[4] == '2' && address[6] == '.')
+               } else if (address[4] == '2' && address[6] == '.') {
                        score = -5;
                /* 172.30.0.0 - 172.31.255.255 */
-               else if (address[4] == '3' && address[5] <= '1')
+               } else if (address[4] == '3' && address[5] <= '1') {
                        score = -5;
                /* All other 172 addresses are public */
-               else
+               } else {
                        score = 0;
-       /* RFC 2544 Benchmark test range */
-       } else if (strncmp(address, "198.1", 5) == 0 && address[5] >= '8' && address[6] == '.')
+               }
+       /* RFC 2544 Benchmark test range (198.18.0.0 - 198.19.255.255, but not 198.180.0.0 - 198.199.255.255) */
+       } else if (strncmp(address, "198.1", 5) == 0 && address[5] >= '8' && address[6] == '.') {
                score = -10;
        /* RFC 1918 non-public address space */
-       else if (strncmp(address, "192.168", 7) == 0)
+       } else if (strncmp(address, "192.168", 7) == 0) {
                score = -5;
        /* RFC 3330 Zeroconf network */
-       else if (strncmp(address, "169.254", 7) == 0)
+       } else if (strncmp(address, "169.254", 7) == 0) {
                /*!\note Better score than a test network, but not quite as good as RFC 1918
                 * address space.  The reason is that some Linux distributions automatically
                 * configure a Zeroconf address before trying DHCP, so we want to prefer a
@@ -98,11 +99,12 @@ static void score_address(const struct sockaddr_in *sin, struct in_addr *best_ad
                 */
                score = -10;
        /* RFC 3330 Test network */
-       else if (strncmp(address, "192.0.2.", 8) == 0)
+       } else if (strncmp(address, "192.0.2.", 8) == 0) {
                score = -15;
        /* Every other address should be publically routable */
-       else
+       } else {
                score = 0;
+       }
 
        if (score > *best_score) {
                *best_score = score;
@@ -149,8 +151,9 @@ static int get_local_address(struct in_addr *ourip)
                                score_address(sin, &best_addr, &best_score);
                                res = 0;
 
-                               if (best_score == 0)
+                               if (best_score == 0) {
                                        break;
+                               }
                        }
                }
 #endif /* BSD_OR_LINUX */
@@ -189,21 +192,23 @@ static int get_local_address(struct in_addr *ourip)
                        score_address(sa, &best_addr, &best_score);
                        res = 0;
 
-                       if (best_score == 0)
+                       if (best_score == 0) {
                                break;
+                       }
                }
 
                free(buf);
 #endif /* SOLARIS */
-               
+
                close(s);
        }
 #if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__)
        freeifaddrs(ifaphead);
 #endif /* BSD_OR_LINUX */
 
-       if (res == 0 && ourip)
+       if (res == 0 && ourip) {
                memcpy(ourip, &best_addr, sizeof(*ourip));
+       }
        return res;
 }
 #endif /* HAVE_GETIFADDRS */
@@ -250,16 +255,18 @@ struct ast_ha *ast_duplicate_ha_list(struct ast_ha *original)
 
        while (start) {
                current = ast_duplicate_ha(start);  /* Create copy of this object */
-               if (prev)
-                       prev->next = current;           /* Link previous to this object */
+               if (prev) {
+                       prev->next = current;           /* Link previous to this object */
+               }
 
-               if (!ret)
-                       ret = current;          /* Save starting point */
+               if (!ret) {
+                       ret = current;                  /* Save starting point */
+               }
 
-               start = start->next;            /* Go to next object */
-               prev = current;                 /* Save pointer to this object */
+               start = start->next;                /* Go to next object */
+               prev = current;                     /* Save pointer to this object */
        }
-       return ret;                     /* Return start of list */
+       return ret;                             /* Return start of list */
 }
 
 struct ast_ha *ast_append_ha(const char *sense, const char *stuff, struct ast_ha *path, int *error)
@@ -277,12 +284,11 @@ struct ast_ha *ast_append_ha(const char *sense, const char *stuff, struct ast_ha
                path = path->next;
        }
 
-       ha = ast_malloc(sizeof(*ha));
-       if (!ha)
+       if (!(ha = ast_malloc(sizeof(*ha)))) {
                return ret;
+       }
 
-       nm = strchr(tmp, '/');
-       if (!nm) {
+       if (!(nm = strchr(tmp, '/'))) {
                /* assume /32. Yes, htonl does not do anything for this particular mask
                   but we better use it to show we remember about byte order */
                ha->netmask.s_addr = htonl(0xFFFFFFFF);
@@ -291,20 +297,22 @@ struct ast_ha *ast_append_ha(const char *sense, const char *stuff, struct ast_ha
                nm++;
 
                if (!strchr(nm, '.')) {
-                       if ((sscanf(nm, "%d", &x) == 1) && (x >= 0) && (x <= 32))
+                       if ((sscanf(nm, "%d", &x) == 1) && (x >= 0) && (x <= 32)) {
                                ha->netmask.s_addr = htonl(0xFFFFFFFF << (32 - x));
-                       else {
+                       } else {
                                ast_log(LOG_WARNING, "Invalid CIDR in %s\n", stuff);
                                ast_free(ha);
-                               if (error)
+                               if (error) {
                                        *error = 1;
+                               }
                                return ret;
                        }
                } else if (!inet_aton(nm, &ha->netmask)) {
                        ast_log(LOG_WARNING, "Invalid mask in %s\n", stuff);
                        ast_free(ha);
-                       if (error)
+                       if (error) {
                                *error = 1;
+                       }
                        return ret;
                }
        }
@@ -312,8 +320,9 @@ struct ast_ha *ast_append_ha(const char *sense, const char *stuff, struct ast_ha
        if (!inet_aton(tmp, &ha->netaddr)) {
                ast_log(LOG_WARNING, "Invalid IP address in %s\n", stuff);
                ast_free(ha);
-               if (error)
+               if (error) {
                        *error = 1;
+               }
                return ret;
        }
 
@@ -348,8 +357,9 @@ int ast_apply_ha(struct ast_ha *ha, struct sockaddr_in *sin)
 #endif
                /* For each rule, if this address and the netmask = the net address
                   apply the current rule */
-               if ((sin->sin_addr.s_addr & ha->netmask.s_addr) == ha->netaddr.s_addr)
+               if ((sin->sin_addr.s_addr & ha->netmask.s_addr) == ha->netaddr.s_addr) {
                        res = ha->sense;
+               }
                ha = ha->next;
        }
        return res;
@@ -369,8 +379,7 @@ int ast_get_ip_or_srv(struct sockaddr_in *sin, const char *value, const char *se
                        value = host;
                }
        }
-       hp = ast_gethostbyname(value, &ahp);
-       if (hp) {
+       if ((hp = ast_gethostbyname(value, &ahp))) {
                memcpy(&sin->sin_addr, hp->h_addr, sizeof(sin->sin_addr));
        } else {
                ast_log(LOG_WARNING, "Unable to lookup '%s'\n", value);
@@ -410,17 +419,17 @@ static const struct dscp_codepoint dscp_pool1[] = {
        { "EF", 0x2E },
 };
 
-int ast_str2cos(const char *value, unsigned int *cos) 
+int ast_str2cos(const char *value, unsigned int *cos)
 {
        int fval;
-       
+
        if (sscanf(value, "%d", &fval) == 1) {
                if (fval < 8) {
-                   *cos = fval;
+                   *cos = fval;
                    return 0;
                }
        }
-       
+
        return -1;
 }
 
@@ -449,8 +458,9 @@ const char *ast_tos2str(unsigned int tos)
        unsigned int x;
 
        for (x = 0; x < ARRAY_LEN(dscp_pool1); x++) {
-               if (dscp_pool1[x].space == (tos >> 2))
+               if (dscp_pool1[x].space == (tos >> 2)) {
                        return dscp_pool1[x].name;
+               }
        }
 
        return "unknown";
@@ -467,8 +477,7 @@ int ast_ouraddrfor(struct in_addr *them, struct in_addr *us)
        struct sockaddr_in sin;
        socklen_t slen;
 
-       s = socket(PF_INET, SOCK_DGRAM, 0);
-       if (s < 0) {
+       if ((s = socket(PF_INET, SOCK_DGRAM, 0)) < 0) {
                ast_log(LOG_ERROR, "Cannot create socket\n");
                return -1;
        }
@@ -509,8 +518,7 @@ int ast_find_ourip(struct in_addr *ourip, struct sockaddr_in bindaddr)
        if (gethostname(ourhost, sizeof(ourhost) - 1)) {
                ast_log(LOG_WARNING, "Unable to get hostname\n");
        } else {
-               hp = ast_gethostbyname(ourhost, &ahp);
-               if (hp) {
+               if ((hp = ast_gethostbyname(ourhost, &ahp))) {
                        memcpy(ourip, hp->h_addr, sizeof(*ourip));
                        ast_debug(3, "Found one IP address based on local hostname %s.\n", ourhost);
                        return 0;
@@ -518,8 +526,9 @@ int ast_find_ourip(struct in_addr *ourip, struct sockaddr_in bindaddr)
        }
        ast_debug(3, "Trying to check A.ROOT-SERVERS.NET and get our IP address for that connection\n");
        /* A.ROOT-SERVERS.NET. */
-       if (inet_aton("198.41.0.4", &saddr) && !ast_ouraddrfor(&saddr, ourip))
+       if (inet_aton("198.41.0.4", &saddr) && !ast_ouraddrfor(&saddr, ourip)) {
                return 0;
+       }
        return get_local_address(ourip);
 }
 
index 7b34809..86aeb21 100644 (file)
@@ -122,7 +122,7 @@ aes_rval aes_encrypt(const void *in_blk, void *out_blk, const aes_encrypt_ctx cx
     aes_32t nr = (kp[45] ^ kp[52] ^ kp[53] ? kp[52] : 14);
 
 #ifdef AES_ERR_CHK
-    if(   (nr != 10 || !(kp[0] | kp[3] | kp[4])) 
+    if(   (nr != 10 || !(kp[0] | kp[3] | kp[4]))
        && (nr != 12 || !(kp[0] | kp[5] | kp[6]))
        && (nr != 14 || !(kp[0] | kp[7] | kp[8])) )
         return aes_error;
@@ -246,7 +246,7 @@ aes_rval aes_decrypt(const void *in_blk, void *out_blk, const aes_decrypt_ctx cx
     const aes_32t *kp = cx->ks + nr * N_COLS;
 
 #ifdef AES_ERR_CHK
-    if(   (nr != 10 || !(cx->ks[0] | cx->ks[3] | cx->ks[4])) 
+    if(   (nr != 10 || !(cx->ks[0] | cx->ks[3] | cx->ks[4]))
        && (nr != 12 || !(cx->ks[0] | cx->ks[5] | cx->ks[6]))
        && (nr != 14 || !(cx->ks[0] | cx->ks[7] | cx->ks[8])) )
         return aes_error;
index 367de0b..caf08de 100644 (file)
@@ -20,7 +20,7 @@
  *
  * \brief a-Law to Signed linear conversion
  *
- * \author Mark Spencer <markster@digium.com> 
+ * \author Mark Spencer <markster@digium.com>
  */
 
 #include "asterisk.h"
@@ -83,16 +83,16 @@ static unsigned char linear2alaw(short sample, int full_coding)
                7,7,7,7,7,7,7,7 };
        unsigned sign, exponent, mantissa, mag;
        unsigned char alawbyte;
-       
+
        ast_alaw_get_sign_mag(sample, &sign, &mag);
        if (mag > 32767)
                mag = 32767;        /* clip the magnitude for -32768 */
-       
+
        exponent = exp_lut[(mag >> 8) & 0x7f];
        mantissa = (mag >> (exponent + 3)) & 0x0f;
        if (mag < 0x100)
                exponent = 0;
-       
+
        if (full_coding) {
                /* full encoding, with sign and xform */
                alawbyte = (unsigned char)(sign | (exponent << 4) | mantissa);
@@ -124,7 +124,7 @@ static inline short alaw2linear(unsigned char alawbyte)
 {
        unsigned exponent, mantissa;
        short sample;
-       
+
        alawbyte ^= AST_ALAW_AMI_MASK;
        exponent = (alawbyte & 0x70) >> 4;
        mantissa = alawbyte & 0x0f;
@@ -149,9 +149,9 @@ short __ast_alaw[256];
 void ast_alaw_init(void)
 {
        int i;
-       /* 
+       /*
         *  Set up mu-law conversion table
-        */ 
+        */
 #ifndef G711_NEW_ALGORITHM
        for (i = 0; i < 256; i++) {
                __ast_alaw[i] = alaw2linear(i);
@@ -169,7 +169,7 @@ void ast_alaw_init(void)
                AST_LIN2A_LOOKUP(i) = linear2alaw(i, 0 /* half-cooked */);
        }
 #endif
-       
+
 #ifdef TEST_CODING_TABLES
        for (i = -32768; i < 32768; ++i) {
 #ifndef G711_NEW_ALGORITHM
@@ -181,7 +181,7 @@ void ast_alaw_init(void)
                unsigned char e2 = AST_LIN2A(i);
                short d2 = alaw2linear(e2);
                short d3 = AST_ALAW(e1);
-               
+
                if (e1 != e2 || d1 != d3 || d2 != d3) {
                        ast_log(LOG_WARNING, "a-Law coding tables test failed on %d: e1=%u, e2=%u, d1=%d, d2=%d\n",
                                        i, (unsigned)e1, (unsigned)e2, (int)d1, (int)d2);
@@ -189,7 +189,7 @@ void ast_alaw_init(void)
        }
        ast_log(LOG_NOTICE, "a-Law coding tables test complete.\n");
 #endif /* TEST_CODING_TABLES */
-       
+
 #ifdef TEST_TANDEM_TRANSCODING
        /* tandem transcoding test */
        for (i = -32768; i < 32768; ++i) {
@@ -199,7 +199,7 @@ void ast_alaw_init(void)
                short d2 = AST_ALAW(e2);
                unsigned char e3 = AST_LIN2A(d2);
                short d3 = AST_ALAW(e3);
-               
+
                if (e1 != e2 || e2 != e3 || d1 != d2 || d2 != d3) {
                        ast_log(LOG_WARNING, "a-Law tandem transcoding test failed on %d: e1=%u, e2=%u, d1=%d, d2=%d, d3=%d\n",
                                        i, (unsigned)e1, (unsigned)e2, (int)d1, (int)d2, (int)d3);
@@ -207,6 +207,6 @@ void ast_alaw_init(void)
        }
        ast_log(LOG_NOTICE, "a-Law tandem transcoding test complete.\n");
 #endif /* TEST_TANDEM_TRANSCODING */
-       
+
 }
 
index af20839..5acde1b 100644 (file)
@@ -20,7 +20,7 @@
  *
  * \brief Convenient Application Routines
  *
- * \author Mark Spencer <markster@digium.com> 
+ * \author Mark Spencer <markster@digium.com>
  */
 
 #include "asterisk.h"
@@ -60,27 +60,28 @@ AST_THREADSTORAGE_PUBLIC(global_app_buf);
 static AST_RWLIST_HEAD_STATIC(groups, ast_group_info);
 
 /*!
- * \brief This function presents a dialtone and reads an extension into 'collect' 
- * which must be a pointer to a **pre-initialized** array of char having a 
- * size of 'size' suitable for writing to.  It will collect no more than the smaller 
+ * \brief This function presents a dialtone and reads an extension into 'collect'
+ * which must be a pointer to a **pre-initialized** array of char having a
+ * size of 'size' suitable for writing to.  It will collect no more than the smaller
  * of 'maxlen' or 'size' minus the original strlen() of collect digits.
  * \param chan struct.
- * \param context 
- * \param collect 
- * \param size 
+ * \param context
+ * \param collect
+ * \param size
  * \param maxlen
  * \param timeout timeout in seconds
  *
  * \return 0 if extension does not exist, 1 if extension exists
 */
-int ast_app_dtget(struct ast_channel *chan, const char *context, char *collect, size_t size, int maxlen, int timeout) 
+int ast_app_dtget(struct ast_channel *chan, const char *context, char *collect, size_t size, int maxlen, int timeout)
 {
        struct ast_tone_zone_sound *ts;
        int res = 0, x = 0;
 
-       if (maxlen > size)
+       if (maxlen > size) {
                maxlen = size;
-       
+       }
+
        if (!timeout && chan->pbx) {
                timeout = chan->pbx->dtimeoutms / 1000.0;
        } else if (!timeout) {
@@ -93,22 +94,27 @@ int ast_app_dtget(struct ast_channel *chan, const char *context, char *collect,
        } else {
                ast_log(LOG_NOTICE, "Huh....? no dial for indications?\n");
        }
-       
+
        for (x = strlen(collect); x < maxlen; ) {
                res = ast_waitfordigit(chan, timeout);
-               if (!ast_ignore_pattern(context, collect))
+               if (!ast_ignore_pattern(context, collect)) {
                        ast_playtones_stop(chan);
-               if (res < 1)
+               }
+               if (res < 1) {
                        break;
-               if (res == '#')
+               }
+               if (res == '#') {
                        break;
+               }
                collect[x++] = res;
-               if (!ast_matchmore_extension(chan, context, collect, 1, chan->cid.cid_num))
+               if (!ast_matchmore_extension(chan, context, collect, 1, chan->cid.cid_num)) {
                        break;
+               }
        }
 
-       if (res >= 0)
+       if (res >= 0) {
                res = ast_exists_extension(chan, context, collect, 1, chan->cid.cid_num) ? 1 : 0;
+       }
 
        return res;
 }
@@ -127,7 +133,7 @@ enum ast_getdata_result ast_app_getdata(struct ast_channel *c, const char *promp
        char *front, *filename;
 
        /* XXX Merge with full version? XXX */
-       
+
        if (maxlen)
                s[0] = '\0';
 
@@ -146,14 +152,16 @@ enum ast_getdata_result ast_app_getdata(struct ast_channel *c, const char *promp
                        fto = c->pbx ? c->pbx->rtimeoutms : 6000;
                        to = c->pbx ? c->pbx->dtimeoutms : 2000;
 
-                       if (timeout > 0) 
+                       if (timeout > 0) {
                                fto = to = timeout;
-                       if (timeout < 0) 
+                       }
+                       if (timeout < 0) {
                                fto = to = 1000000000;
+                       }
                } else {
                        /* there is more than one prompt, so
-                          get rid of the long timeout between 
-                          prompts, and make it 50ms */
+                        * get rid of the long timeout between
+                        * prompts, and make it 50ms */
                        fto = 50;
                        to = c->pbx ? c->pbx->dtimeoutms : 2000;
                }
@@ -178,14 +186,17 @@ int ast_app_getdata_full(struct ast_channel *c, char *prompt, char *s, int maxle
 
        if (!ast_strlen_zero(prompt)) {
                res = ast_streamfile(c, prompt, c->language);
-               if (res < 0)
+               if (res < 0) {
                        return res;
+               }
        }
-       
-       if (timeout > 0) 
+
+       if (timeout > 0) {
                fto = to = timeout;
-       if (timeout < 0) 
+       }
+       if (timeout < 0) {
                fto = to = 1000000000;
+       }
 
        res = ast_readstring_full(c, s, maxlen, to, fto, "#", audiofd, ctrlfd);
 
@@ -223,12 +234,12 @@ void ast_uninstall_vm_functions(void)
 int ast_app_has_voicemail(const char *mailbox, const char *folder)
 {
        static int warned = 0;
-       if (ast_has_voicemail_func)
+       if (ast_has_voicemail_func) {
                return ast_has_voicemail_func(mailbox, folder);
+       }
 
-       if (!warned) {
+       if (warned++ % 10 == 0) {
                ast_verb(3, "Message check requested for mailbox %s/folder %s but voicemail not loaded.\n", mailbox, folder ? folder : "INBOX");
-               warned++;
        }
        return 0;
 }
@@ -247,8 +258,7 @@ int ast_app_inboxcount(const char *mailbox, int *newmsgs, int *oldmsgs)
                return ast_inboxcount_func(mailbox, newmsgs, oldmsgs);
        }
 
-       if (!warned) {
-               warned++;
+       if (warned++ % 10 == 0) {
                ast_verb(3, "Message count requested for mailbox %s but voicemail not loaded.\n", mailbox);
        }
 
@@ -271,8 +281,7 @@ int ast_app_inboxcount2(const char *mailbox, int *urgentmsgs, int *newmsgs, int
                return ast_inboxcount2_func(mailbox, urgentmsgs, newmsgs, oldmsgs);
        }
 
-       if (!warned) {
-               warned++;
+       if (warned++ % 10 == 0) {
                ast_verb(3, "Message count requested for mailbox %s but voicemail not loaded.\n", mailbox);
        }
 
@@ -281,16 +290,18 @@ int ast_app_inboxcount2(const char *mailbox, int *urgentmsgs, int *newmsgs, int
 
 int ast_app_sayname(struct ast_channel *chan, const char *mailbox, const char *context)
 {
-       if (ast_sayname_func)
+       if (ast_sayname_func) {
                return ast_sayname_func(chan, mailbox, context);
+       }
        return -1;
 }
 
 int ast_app_messagecount(const char *context, const char *mailbox, const char *folder)
 {
        static int warned = 0;
-       if (ast_messagecount_func)
+       if (ast_messagecount_func) {
                return ast_messagecount_func(context, mailbox, folder);
+       }
 
        if (!warned) {
                warned++;
@@ -306,14 +317,17 @@ int ast_dtmf_stream(struct ast_channel *chan, struct ast_channel *peer, const ch
        int res = 0;
        struct ast_silence_generator *silgen = NULL;
 
-       if (!between)
+       if (!between) {
                between = 100;
+       }
 
-       if (peer)
+       if (peer) {
                res = ast_autoservice_start(peer);
+       }
 
-       if (!res)
+       if (!res) {
                res = ast_waitfor(chan, 100);
+       }
 
        /* ast_waitfor will return the number of remaining ms on success */
        if (res < 0) {
@@ -330,27 +344,32 @@ int ast_dtmf_stream(struct ast_channel *chan, struct ast_channel *peer, const ch
        for (ptr = digits; *ptr; ptr++) {
                if (*ptr == 'w') {
                        /* 'w' -- wait half a second */
-                       if ((res = ast_safe_sleep(chan, 500)))
+                       if ((res = ast_safe_sleep(chan, 500))) {
                                break;
+                       }
                } else if (strchr("0123456789*#abcdfABCDF", *ptr)) {
                        /* Character represents valid DTMF */
                        if (*ptr == 'f' || *ptr == 'F') {
                                /* ignore return values if not supported by channel */
                                ast_indicate(chan, AST_CONTROL_FLASH);
-                       } else
+                       } else {
                                ast_senddigit(chan, *ptr, duration);
+                       }
                        /* pause between digits */
-                       if ((res = ast_safe_sleep(chan, between)))
+                       if ((res = ast_safe_sleep(chan, between))) {
                                break;
-               } else
+                       }
+               } else {
                        ast_log(LOG_WARNING, "Illegal DTMF character '%c' in string. (0-9*#aAbBcCdD allowed)\n", *ptr);
+               }
        }
 
        if (peer) {
-               /* Stop autoservice on the peer channel, but don't overwrite any error condition 
+               /* Stop autoservice on the peer channel, but don't overwrite any error condition
                   that has occurred previously while acting on the primary channel */
-               if (ast_autoservice_stop(peer) && !res)
+               if (ast_autoservice_stop(peer) && !res) {
                        res = -1;
+               }
        }
 
        if (silgen) {
@@ -370,12 +389,14 @@ struct linear_state {
 static void linear_release(struct ast_channel *chan, void *params)
 {
        struct linear_state *ls = params;
-       
-       if (ls->origwfmt && ast_set_write_format(chan, ls->origwfmt))
+
+       if (ls->origwfmt && ast_set_write_format(chan, ls->origwfmt)) {
                ast_log(LOG_WARNING, "Unable to restore channel '%s' to format '%d'\n", chan->name, ls->origwfmt);
+       }
 
-       if (ls->autoclose)
+       if (ls->autoclose) {
                close(ls->fd);
+       }
 
        ast_free(params);
 }
@@ -402,8 +423,9 @@ static int linear_generator(struct ast_channel *chan, void *data, int len, int s
                f.datalen = res;
                f.samples = res / 2;
                ast_write(chan, &f);
-               if (res == len)
+               if (res == len) {
                        return 0;
+               }
        }
        return -1;
 }
@@ -412,14 +434,16 @@ static void *linear_alloc(struct ast_channel *chan, void *params)
 {
        struct linear_state *ls = params;
 
-       if (!params)
+       if (!params) {
                return NULL;
+       }
 
        /* In this case, params is already malloc'd */
-       if (ls->allowoverride)
+       if (ls->allowoverride) {
                ast_set_flag(chan, AST_FLAG_WRITE_INT);
-       else
+       } else {
                ast_clear_flag(chan, AST_FLAG_WRITE_INT);
+       }
 
        ls->origwfmt = chan->writeformat;
 
@@ -432,7 +456,7 @@ static void *linear_alloc(struct ast_channel *chan, void *params)
        return params;
 }
 
-static struct ast_generator linearstream = 
+static struct ast_generator linearstream =
 {
        alloc: linear_alloc,
        release: linear_release,
@@ -446,13 +470,15 @@ int ast_linear_stream(struct ast_channel *chan, const char *filename, int fd, in
        int res = -1;
        int autoclose = 0;
        if (fd < 0) {
-               if (ast_strlen_zero(filename))
+               if (ast_strlen_zero(filename)) {
                        return -1;
+               }
                autoclose = 1;
-               if (filename[0] == '/') 
+               if (filename[0] == '/') {
                        ast_copy_string(tmpf, filename, sizeof(tmpf));
-               else
+               } else {
                        snprintf(tmpf, sizeof(tmpf), "%s/%s/%s", ast_config_AST_DATA_DIR, "sounds", filename);
+               }
                if ((fd = open(tmpf, O_RDONLY)) < 0) {
                        ast_log(LOG_WARNING, "Unable to open file '%s': %s\n", tmpf, strerror(errno));
                        return -1;
@@ -470,7 +496,7 @@ int ast_linear_stream(struct ast_channel *chan, const char *filename, int fd, in
 int ast_control_streamfile(struct ast_channel *chan, const char *file,
                           const char *fwd, const char *rev,
                           const char *stop, const char *suspend,
-                          const char *restart, int skipms, long *offsetms) 
+                          const char *restart, int skipms, long *offsetms)
 {
        char *breaks = NULL;
        char *end = NULL;
@@ -479,28 +505,36 @@ int ast_control_streamfile(struct ast_channel *chan, const char *file,
        long pause_restart_point = 0;
        long offset = 0;
 
-       if (offsetms) 
+       if (offsetms) {
                offset = *offsetms * 8; /* XXX Assumes 8kHz */
+       }
 
-       if (stop)
+       if (stop) {
                blen += strlen(stop);
-       if (suspend)
+       }
+       if (suspend) {
                blen += strlen(suspend);
-       if (restart)
+       }
+       if (restart) {
                blen += strlen(restart);
+       }
 
        if (blen > 2) {
                breaks = alloca(blen + 1);
                breaks[0] = '\0';
-               if (stop)
+               if (stop) {
                        strcat(breaks, stop);
-               if (suspend)
+               }
+               if (suspend) {
                        strcat(breaks, suspend);
-               if (restart)
+               }
+               if (restart) {
                        strcat(breaks, restart);
+               }
        }
-       if (chan->_state != AST_STATE_UP)
+       if (chan->_state != AST_STATE_UP) {
                res = ast_answer(chan);
+       }
 
        if (file) {
                if ((end = strchr(file, ':'))) {
@@ -520,8 +554,9 @@ int ast_control_streamfile(struct ast_channel *chan, const char *file,
                                pause_restart_point = 0;
                        }
                        else if (end || offset < 0) {
-                               if (offset == -8) 
+                               if (offset == -8) {
                                        offset = 0;
+                               }
                                ast_verb(3, "ControlPlayback seek to offset %ld from end\n", offset);
 
                                ast_seekstream(chan->stream, offset, SEEK_END);
@@ -531,12 +566,13 @@ int ast_control_streamfile(struct ast_channel *chan, const char *file,
                                ast_verb(3, "ControlPlayback seek to offset %ld\n", offset);
                                ast_seekstream(chan->stream, offset, SEEK_SET);
                                offset = 0;
-                       };
+                       }
                        res = ast_waitstream_fr(chan, breaks, fwd, rev, skipms);
                }
 
-               if (res < 1)
+               if (res < 1) {
                        break;
+               }
 
                /* We go at next loop if we got the restart char */
                if (restart && strchr(restart, res)) {
@@ -549,11 +585,11 @@ int ast_control_streamfile(struct ast_channel *chan, const char *file,
                        pause_restart_point = ast_tellstream(chan->stream);
                        for (;;) {
                                ast_stopstream(chan);
-                               res = ast_waitfordigit(chan, 1000);
-                               if (!res)
+                               if (!(res = ast_waitfordigit(chan, 1000))) {
                                        continue;
-                               else if (res == -1 || strchr(suspend, res) || (stop && strchr(stop, res)))
+                               } else if (res == -1 || strchr(suspend, res) || (stop && strchr(stop, res))) {
                                        break;
+                               }
                        }
                        if (res == *suspend) {
                                res = 0;
@@ -561,12 +597,14 @@ int ast_control_streamfile(struct ast_channel *chan, const char *file,
                        }
                }
 
-               if (res == -1)
+               if (res == -1) {
                        break;
+               }
 
                /* if we get one of our stop chars, return it to the calling function */
-               if (stop && strchr(stop, res))
+               if (stop && strchr(stop, res)) {
                        break;
+               }
        }
 
        if (pause_restart_point) {
@@ -579,12 +617,14 @@ int ast_control_streamfile(struct ast_channel *chan, const char *file,
                }
        }
 
-       if (offsetms) 
+       if (offsetms) {
                *offsetms = offset / 8; /* samples --> ms ... XXX Assumes 8 kHz */
+       }
 
        /* If we are returning a digit cast it as char */
-       if (res > 0 || chan->stream)
+       if (res > 0 || chan->stream) {
                res = (char)res;
+       }
 
        ast_stopstream(chan);
 
@@ -595,8 +635,9 @@ int ast_play_and_wait(struct ast_channel *chan, const char *fn)
 {
        int d = 0;
 
-       if ((d = ast_streamfile(chan, fn, chan->language)))
+       if ((d = ast_streamfile(chan, fn, chan->language))) {
                return d;
+       }
 
        d = ast_waitstream(chan, AST_DIGIT_ANY);
 
@@ -616,7 +657,7 @@ static int global_maxsilence = 0;
  * \param fmt Format(s) to record message in. Multiple formats may be specified by separating them with a '|'.
  * \param duration Where to store actual length of the recorded message (in milliseconds).
  * \param beep Whether to play a beep before starting to record.
- * \param silencethreshold 
+ * \param silencethreshold
  * \param maxsilence Length of silence that will end a recording (in milliseconds).
  * \param path Optional filesystem path to unlock.
  * \param prepend If true, prepend the recorded audio to an existing file.
@@ -640,11 +681,13 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
        struct ast_silence_generator *silgen = NULL;
        char prependfile[80];
 
-       if (silencethreshold < 0)
+       if (silencethreshold < 0) {
                silencethreshold = global_silence_threshold;
+       }
 
-       if (maxsilence < 0)
+       if (maxsilence < 0) {
                maxsilence = global_maxsilence;
+       }
 
        /* barf if no pointer passed to store duration in */
        if (!duration) {
@@ -656,16 +699,19 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
        snprintf(comment, sizeof(comment), "Playing %s, Recording to: %s on %s\n", playfile ? playfile : "<None>", recordfile, chan->name);
 
        if (playfile || beep) {
-               if (!beep)
+               if (!beep) {
                        d = ast_play_and_wait(chan, playfile);
-               if (d > -1)
+               }
+               if (d > -1) {
                        d = ast_stream_and_wait(chan, "beep", "");
-               if (d < 0)
+               }
+               if (d < 0) {
                        return -1;
+               }
        }
 
        if (prepend) {
-               ast_copy_string(prependfile, recordfile, sizeof(prependfile));  
+               ast_copy_string(prependfile, recordfile, sizeof(prependfile));
                strncat(prependfile, "-prepend", sizeof(prependfile) - strlen(prependfile) - 1);
        }
 
@@ -689,12 +735,14 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
                others[x] = ast_writefile(prepend ? prependfile : recordfile, sfmt[x], comment, O_TRUNC, 0, AST_FILE_MODE);
                ast_verb(3, "x=%d, open writing:  %s format: %s, %p\n", x, prepend ? prependfile : recordfile, sfmt[x], others[x]);
 
-               if (!others[x])
+               if (!others[x]) {
                        break;
+               }
        }
 
-       if (path)
+       if (path) {
                ast_unlock_path(path);
+       }
 
        if (maxsilence > 0) {
                sildet = ast_dsp_new(); /* Create the silence detector */
@@ -716,8 +764,9 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
                /* Request a video update */
                ast_indicate(chan, AST_CONTROL_VIDUPDATE);
 
-               if (ast_opt_transmit_silence)
+               if (ast_opt_transmit_silence) {
                        silgen = ast_channel_start_silence_generator(chan);
+               }
        }
 
        if (x == fmtcnt) {
@@ -725,12 +774,10 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
                   we read a digit or get a hangup */
                struct ast_frame *f;
                for (;;) {
-                       res = ast_waitfor(chan, 2000);
-                       if (!res) {
+                       if (!(res = ast_waitfor(chan, 2000))) {
                                ast_debug(1, "One waitfor failed, trying another\n");
                                /* Try one more time in case of masq */
-                               res = ast_waitfor(chan, 2000);
-                               if (!res) {
+                               if (!(res = ast_waitfor(chan, 2000))) {
                                        ast_log(LOG_WARNING, "No audio available on %s??\n", chan->name);
                                        res = -1;
                                }
@@ -740,14 +787,15 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
                                f = NULL;
                                break;
                        }
-                       f = ast_read(chan);
-                       if (!f)
+                       if (!(f = ast_read(chan))) {
                                break;
+                       }
                        if (f->frametype == AST_FRAME_VOICE) {
                                /* write each format */
                                for (x = 0; x < fmtcnt; x++) {
-                                       if (prepend && !others[x])
+                                       if (prepend && !others[x]) {
                                                break;
+                                       }
                                        res = ast_writestream(others[x], f);
                                }
 
@@ -755,10 +803,11 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
                                if (maxsilence > 0) {
                                        int dspsilence = 0;
                                        ast_dsp_silence(sildet, f, &dspsilence);
-                                       if (dspsilence)
+                                       if (dspsilence) {
                                                totalsilence = dspsilence;
-                                       else
+                                       } else {
                                                totalsilence = 0;
+                                       }
 
                                        if (totalsilence > maxsilence) {
                                                /* Ended happily with silence */
@@ -820,8 +869,9 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
        }
 
        if (!prepend) {
-               if (silgen)
+               if (silgen) {
                        ast_channel_stop_silence_generator(chan, silgen);
+               }
        }
 
        /*!\note
@@ -837,8 +887,9 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
 
        if (!prepend) {
                for (x = 0; x < fmtcnt; x++) {
-                       if (!others[x])
+                       if (!others[x]) {
                                break;
+                       }
                        /*!\note
                         * If we ended with silence, trim all but the first 200ms of silence
                         * off the recording.  However, if we ended with '#', we don't want
@@ -866,11 +917,13 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
                for (x = 0; x < fmtcnt; x++) {
                        snprintf(comment, sizeof(comment), "Opening the real file %s.%s\n", recordfile, sfmt[x]);
                        realfiles[x] = ast_readfile(recordfile, sfmt[x], comment, O_RDONLY, 0, 0);
-                       if (!others[x] || !realfiles[x])
+                       if (!others[x] || !realfiles[x]) {
                                break;
+                       }
                        /*!\note Same logic as above. */
-                       if (totalsilence)
+                       if (totalsilence) {
                                ast_stream_rewind(others[x], totalsilence - 200);
+                       }
                        ast_truncstream(others[x]);
                        /* add the original file too */
                        while ((fr = ast_readframe(realfiles[x]))) {
@@ -890,8 +943,9 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
        if (outmsg == 2) {
                ast_stream_and_wait(chan, "auth-thankyou", "");
        }
-       if (sildet)
+       if (sildet) {
                ast_dsp_free(sildet);
+       }
        return res;
 }
 
@@ -924,20 +978,20 @@ int ast_app_group_split_group(const char *data, char *group, int group_max, char
        if (!ast_strlen_zero(data)) {
                ast_copy_string(tmp, data, sizeof(tmp));
                grp = tmp;
-               cat = strchr(tmp, '@');
-               if (cat) {
-                       *cat = '\0';
-                       cat++;
+               if ((cat = strchr(tmp, '@'))) {
+                       *cat++ = '\0';
                }
        }
 
-       if (!ast_strlen_zero(grp))
+       if (!ast_strlen_zero(grp)) {
                ast_copy_string(group, grp, group_max);
-       else
+       } else {
                *group = '\0';
+       }
 
-       if (!ast_strlen_zero(cat))
+       if (!ast_strlen_zero(cat)) {
                ast_copy_string(category, cat, category_max);
+       }
 
        return res;
 }
@@ -948,15 +1002,17 @@ int ast_app_group_set_channel(struct ast_channel *chan, const char *data)
        char group[80] = "", category[80] = "";
        struct ast_group_info *gi = NULL;
        size_t len = 0;
-       
-       if (ast_app_group_split_group(data, group, sizeof(group), category, sizeof(category)))
+
+       if (ast_app_group_split_group(data, group, sizeof(group), category, sizeof(category))) {
                return -1;
-       
+       }
+
        /* Calculate memory we will need if this is new */
        len = sizeof(*gi) + strlen(group) + 1;
-       if (!ast_strlen_zero(category))
+       if (!ast_strlen_zero(category)) {
                len += strlen(category) + 1;
-       
+       }
+
        AST_RWLIST_WRLOCK(&groups);
        AST_RWLIST_TRAVERSE_SAFE_BEGIN(&groups, gi, list) {
                if ((gi->chan == chan) && ((ast_strlen_zero(category) && ast_strlen_zero(gi->category)) || (!ast_strlen_zero(gi->category) && !strcasecmp(gi->category, category)))) {
@@ -981,9 +1037,9 @@ int ast_app_group_set_channel(struct ast_channel *chan, const char *data)
        } else {
                res = -1;
        }
-       
+
        AST_RWLIST_UNLOCK(&groups);
-       
+
        return res;
 }
 
@@ -992,13 +1048,15 @@ int ast_app_group_get_count(const char *group, const char *category)
        struct ast_group_info *gi = NULL;
        int count = 0;
 
-       if (ast_strlen_zero(group))
+       if (ast_strlen_zero(group)) {
                return 0;
-       
+       }
+
        AST_RWLIST_RDLOCK(&groups);
        AST_RWLIST_TRAVERSE(&groups, gi, list) {
-               if (!strcasecmp(gi->group, group) && (ast_strlen_zero(category) || (!ast_strlen_zero(gi->category) && !strcasecmp(gi->category, category))))
+               if (!strcasecmp(gi->group, group) && (ast_strlen_zero(category) || (!ast_strlen_zero(gi->category) && !strcasecmp(gi->category, category)))) {
                        count++;
+               }
        }
        AST_RWLIST_UNLOCK(&groups);
 
@@ -1011,17 +1069,20 @@ int ast_app_group_match_get_count(const char *groupmatch, const char *category)
        regex_t regexbuf;
        int count = 0;
 
-       if (ast_strlen_zero(groupmatch))
+       if (ast_strlen_zero(groupmatch)) {
                return 0;
+       }
 
        /* if regex compilation fails, return zero matches */
-       if (regcomp(&regexbuf, groupmatch, REG_EXTENDED | REG_NOSUB))
+       if (regcomp(&regexbuf, groupmatch, REG_EXTENDED | REG_NOSUB)) {
                return 0;
+       }
 
        AST_RWLIST_RDLOCK(&groups);
        AST_RWLIST_TRAVERSE(&groups, gi, list) {
-               if (!regexec(&regexbuf, gi->group, 0, NULL, 0) && (ast_strlen_zero(category) || (!ast_strlen_zero(gi->category) && !strcasecmp(gi->category, category))))
+               if (!regexec(&regexbuf, gi->group, 0, NULL, 0) && (ast_strlen_zero(category) || (!ast_strlen_zero(gi->category) && !strcasecmp(gi->category, category)))) {
                        count++;
+               }
        }
        AST_RWLIST_UNLOCK(&groups);
 
@@ -1052,7 +1113,7 @@ int ast_app_group_update(struct ast_channel *old, struct ast_channel *new)
 int ast_app_group_discard(struct ast_channel *chan)
 {
        struct ast_group_info *gi = NULL;
-       
+
        AST_RWLIST_WRLOCK(&groups);
        AST_RWLIST_TRAVERSE_SAFE_BEGIN(&groups, gi, list) {
                if (gi->chan == chan) {
@@ -1062,7 +1123,7 @@ int ast_app_group_discard(struct ast_channel *chan)
        }
        AST_RWLIST_TRAVERSE_SAFE_END;
        AST_RWLIST_UNLOCK(&groups);
-       
+
        return 0;
 }
 
@@ -1092,8 +1153,9 @@ unsigned int ast_app_separate_args(char *buf, char delim, char **array, int arra
        char *scan, *wasdelim = NULL;
        int paren = 0, quote = 0;
 
-       if (!buf || !array || !arraylen)
+       if (!buf || !array || !arraylen) {
                return 0;
+       }
 
        memset(array, 0, arraylen * sizeof(*array));
 
@@ -1102,11 +1164,12 @@ unsigned int ast_app_separate_args(char *buf, char delim, char **array, int arra
        for (argc = 0; *scan && (argc < arraylen - 1); argc++) {
                array[argc] = scan;
                for (; *scan; scan++) {
-                       if (*scan == '(')
+                       if (*scan == '(') {
                                paren++;
-                       else if (*scan == ')') {
-                               if (paren)
+                       } else if (*scan == ')') {
+                               if (paren) {
                                        paren--;
+                               }
                        } else if (*scan == '"' && delim != '"') {
                                quote = quote ? 0 : 1;
                                /* Remove quote character from argument */
@@ -1141,7 +1204,7 @@ static enum AST_LOCK_RESULT ast_lock_path_lockfile(const char *path)
        int lp = strlen(path);
        time_t start;
 
-       s = alloca(lp + 10); 
+       s = alloca(lp + 10);
        fs = alloca(lp + 20);
 
        snprintf(fs, strlen(path) + 19, "%s/.lock-%08lx", path, ast_random());
@@ -1154,8 +1217,9 @@ static enum AST_LOCK_RESULT ast_lock_path_lockfile(const char *path)
 
        snprintf(s, strlen(path) + 9, "%s/.lock", path);
        start = time(NULL);
-       while (((res = link(fs, s)) < 0) && (errno == EEXIST) && (time(NULL) - start < 5))
-               usleep(1);
+       while (((res = link(fs, s)) < 0) && (errno == EEXIST) && (time(NULL) - start < 5)) {
+               sched_yield();
+       }
 
        unlink(fs);
 
@@ -1177,9 +1241,9 @@ static int ast_unlock_path_lockfile(const char *path)
 
        snprintf(s, strlen(path) + 9, "%s/%s", path, ".lock");
 
-       if ((res = unlink(s)))
+       if ((res = unlink(s))) {
                ast_log(LOG_ERROR, "Could not unlock path '%s': %s\n", path, strerror(errno));
-       else {
+       } else {
                ast_debug(1, "Unlocked path '%s'\n", path);
        }
 
@@ -1196,10 +1260,12 @@ static AST_LIST_HEAD_STATIC(path_lock_list, path_lock);
 
 static void path_lock_destroy(struct path_lock *obj)
 {
-       if (obj->fd >= 0)
+       if (obj->fd >= 0) {
                close(obj->fd);
-       if (obj->path)
+       }
+       if (obj->path) {
                free(obj->path);
+       }
        free(obj);
 }
 
@@ -1229,14 +1295,12 @@ static enum AST_LOCK_RESULT ast_lock_path_flock(const char *path)
                        return AST_LOCK_FAILURE;
                }
        }
-       fd = open(fs, O_WRONLY | O_CREAT, 0600);
-       if (fd < 0) {
+       if ((fd = open(fs, O_WRONLY | O_CREAT, 0600)) < 0) {
                ast_log(LOG_WARNING, "Unable to create lock file '%s': %s\n",
                                fs, strerror(errno));
                return AST_LOCK_PATH_NOT_FOUND;
        }
-       pl = ast_calloc(1, sizeof(*pl));
-       if (!pl) {
+       if (!(pl = ast_calloc(1, sizeof(*pl)))) {
                /* We don't unlink the lock file here, on the possibility that
                 * someone else created it - better to leave a little mess
                 * than create a big one by destroying someone else's lock
@@ -1249,13 +1313,13 @@ static enum AST_LOCK_RESULT ast_lock_path_flock(const char *path)
        pl->path = strdup(path);
 
        time(&start);
-       while ((
+       while (
                #ifdef SOLARIS
-               (res = fcntl(pl->fd, F_SETLK, fcntl(pl->fd, F_GETFL) | O_NONBLOCK)) < 0) &&
+               ((res = fcntl(pl->fd, F_SETLK, fcntl(pl->fd, F_GETFL) | O_NONBLOCK)) < 0) &&
                #else
-               (res = flock(pl->fd, LOCK_EX | LOCK_NB)) < 0) &&
+               ((res = flock(pl->fd, LOCK_EX | LOCK_NB)) < 0) &&
                #endif
-                       (errno == EWOULDBLOCK) && 
+                       (errno == EWOULDBLOCK) &&
                        (time(NULL) - start < 5))
                usleep(1000);
        if (res) {
@@ -1312,9 +1376,10 @@ static int ast_unlock_path_flock(const char *path)
                unlink(s);
                path_lock_destroy(p);
                ast_log(LOG_DEBUG, "Unlocked path '%s'\n", path);
-       } else
+       } else {
                ast_log(LOG_DEBUG, "Failed to unlock path '%s': "
                                "lock not found\n", path);
+       }
 
        return 0;
 }
@@ -1358,7 +1423,7 @@ int ast_unlock_path(const char *path)
 
 int ast_record_review(struct ast_channel *chan, const char *playfile, const char *recordfile, int maxtime, const char *fmt, int *duration, const char *path) 
 {
-       int silencethreshold; 
+       int silencethreshold;
        int maxsilence = 0;
        int res = 0;
        int cmd = 0;
@@ -1398,22 +1463,17 @@ int ast_record_review(struct ast_channel *chan, const char *playfile, const char
                case '3':
                        message_exists = 0;
                        /* Record */
-                       if (recorded == 1)
-                               ast_verb(3, "Re-recording\n");
-                       else    
-                               ast_verb(3, "Recording\n");
+                       ast_verb(3, "R%secording\n", recorded == 1 ? "e-r" : "");
                        recorded = 1;
-                       cmd = ast_play_and_record(chan, playfile, recordfile, maxtime, fmt, duration, silencethreshold, maxsilence, path);
-                       if (cmd == -1) {
-                       /* User has hung up, no options to give */
+                       if ((cmd = ast_play_and_record(chan, playfile, recordfile, maxtime, fmt, duration, silencethreshold, maxsilence, path)) == -1) {
+                               /* User has hung up, no options to give */
                                return cmd;
                        }
                        if (cmd == '0') {
                                break;
                        } else if (cmd == '*') {
                                break;
-                       } 
-                       else {
+                       } else {
                                /* If all is well, a message exists */
                                message_exists = 1;
                                cmd = 0;
@@ -1432,15 +1492,15 @@ int ast_record_review(struct ast_channel *chan, const char *playfile, const char
                default:
                        if (message_exists) {
                                cmd = ast_play_and_wait(chan, "vm-review");
-                       }
-                       else {
-                               cmd = ast_play_and_wait(chan, "vm-torerecord");
-                               if (!cmd)
+                       } else {
+                               if (!(cmd = ast_play_and_wait(chan, "vm-torerecord"))) {
                                        cmd = ast_waitfordigit(chan, 600);
+                               }
                        }
-                       
-                       if (!cmd)
+
+                       if (!cmd) {
                                cmd = ast_waitfordigit(chan, 6000);
+                       }
                        if (!cmd) {
                                attempts++;
                        }
@@ -1449,8 +1509,9 @@ int ast_record_review(struct ast_channel *chan, const char *playfile, const char
                        }
                }
        }
-       if (cmd == 't')
+       if (cmd == 't') {
                cmd = 0;
+       }
        return cmd;
 }
 
@@ -1467,7 +1528,7 @@ static int ivr_dispatch(struct ast_channel *chan, struct ast_ivr_option *option,
        int (*ivr_func)(struct ast_channel *, void *);
        char *c;
        char *n;
-       
+
        switch (option->action) {
        case AST_ACTION_UPONE:
                return RES_UPONE;
@@ -1494,15 +1555,15 @@ static int ivr_dispatch(struct ast_channel *chan, struct ast_ivr_option *option,
                }
                return res;
        case AST_ACTION_MENU:
-               res = ast_ivr_menu_run_internal(chan, (struct ast_ivr_menu *)option->adata, cbdata);
-               /* Do not pass entry errors back up, treat as though it was an "UPONE" */
-               if (res == -2)
+               if ((res = ast_ivr_menu_run_internal(chan, (struct ast_ivr_menu *)option->adata, cbdata)) == -2) {
+                       /* Do not pass entry errors back up, treat as though it was an "UPONE" */
                        res = 0;
+               }
                return res;
        case AST_ACTION_WAITOPTION:
-               res = ast_waitfordigit(chan, chan->pbx ? chan->pbx->rtimeoutms : 10000);
-               if (!res)
+               if (!(res = ast_waitfordigit(chan, chan->pbx ? chan->pbx->rtimeoutms : 10000))) {
                        return 't';
+               }
                return res;
        case AST_ACTION_CALLBACK:
                ivr_func = option->adata;
@@ -1517,34 +1578,39 @@ static int ivr_dispatch(struct ast_channel *chan, struct ast_ivr_option *option,
                c = ast_strdupa(option->adata);
                while ((n = strsep(&c, ";"))) {
                        if ((res = ast_stream_and_wait(chan, n,
-                                       (option->action == AST_ACTION_BACKLIST) ? AST_DIGIT_ANY : "")))
+                                       (option->action == AST_ACTION_BACKLIST) ? AST_DIGIT_ANY : ""))) {
                                break;
+                       }
                }
                ast_stopstream(chan);
                return res;
        default:
                ast_log(LOG_NOTICE, "Unknown dispatch function %d, ignoring!\n", option->action);
                return 0;
-       };
+       }
        return -1;
 }
 
 static int option_exists(struct ast_ivr_menu *menu, char *option)
 {
        int x;
-       for (x = 0; menu->options[x].option; x++)
-               if (!strcasecmp(menu->options[x].option, option))
+       for (x = 0; menu->options[x].option; x++) {
+               if (!strcasecmp(menu->options[x].option, option)) {
                        return x;
+               }
+       }
        return -1;
 }
 
 static int option_matchmore(struct ast_ivr_menu *menu, char *option)
 {
        int x;
-       for (x = 0; menu->options[x].option; x++)
-               if ((!strncasecmp(menu->options[x].option, option, strlen(option))) && 
-                               (menu->options[x].option[strlen(option)]))
+       for (x = 0; menu->options[x].option; x++) {
+               if ((!strncasecmp(menu->options[x].option, option, strlen(option))) &&
+                               (menu->options[x].option[strlen(option)])) {
                        return x;
+               }
+       }
        return -1;
 }
 
@@ -1554,11 +1620,12 @@ static int read_newoption(struct ast_channel *chan, struct ast_ivr_menu *menu, c
        int ms;
        while (option_matchmore(menu, exten)) {
                ms = chan->pbx ? chan->pbx->dtimeoutms : 5000;
-               if (strlen(exten) >= maxexten - 1) 
+               if (strlen(exten) >= maxexten - 1) {
                        break;
-               res = ast_waitfordigit(chan, ms);
-               if (res < 1)
+               }
+               if ((res = ast_waitfordigit(chan, ms)) < 1) {
                        break;
+               }
                exten[strlen(exten) + 1] = '\0';
                exten[strlen(exten)] = res;
        }
@@ -1584,28 +1651,31 @@ static int ast_ivr_menu_run_internal(struct ast_channel *chan, struct ast_ivr_me
                        if (!strcasecmp(menu->options[pos].option, exten)) {
                                res = ivr_dispatch(chan, menu->options + pos, exten, cbdata);
                                ast_debug(1, "IVR Dispatch of '%s' (pos %d) yields %d\n", exten, pos, res);
-                               if (res < 0)
+                               if (res < 0) {
                                        break;
-                               else if (res & RES_UPONE)
+                               } else if (res & RES_UPONE) {
                                        return 0;
-                               else if (res & RES_EXIT)
+                               } else if (res & RES_EXIT) {
                                        return res;
-                               else if (res & RES_REPEAT) {
+                               } else if (res & RES_REPEAT) {
                                        int maxretries = res & 0xffff;
                                        if ((res & RES_RESTART) == RES_RESTART) {
                                                retries = 0;
-                                       } else
+                                       } else {
                                                retries++;
-                                       if (!maxretries)
+                                       }
+                                       if (!maxretries) {
                                                maxretries = 3;
+                                       }
                                        if ((maxretries > 0) && (retries >= maxretries)) {
                                                ast_debug(1, "Max retries %d exceeded\n", maxretries);
                                                return -2;
                                        } else {
-                                               if (option_exists(menu, "g") > -1) 
+                                               if (option_exists(menu, "g") > -1) {
                                                        strcpy(exten, "g");
-                                               else if (option_exists(menu, "s") > -1)
+                                               } else if (option_exists(menu, "s") > -1) {
                                                        strcpy(exten, "s");
+                                               }
                                        }
                                        pos = 0;
                                        continue;
@@ -1613,8 +1683,9 @@ static int ast_ivr_menu_run_internal(struct ast_channel *chan, struct ast_ivr_me
                                        ast_debug(1, "Got start of extension, %c\n", res);
                                        exten[1] = '\0';
                                        exten[0] = res;
-                                       if ((res = read_newoption(chan, menu, exten, sizeof(exten))))
+                                       if ((res = read_newoption(chan, menu, exten, sizeof(exten)))) {
                                                break;
+                                       }
                                        if (option_exists(menu, exten) < 0) {
                                                if (option_exists(menu, "i")) {
                                                        ast_debug(1, "Invalid extension entered, going to 'i'!\n");
@@ -1637,10 +1708,11 @@ static int ast_ivr_menu_run_internal(struct ast_channel *chan, struct ast_ivr_me
                }
                ast_debug(1, "Stopping option '%s', res is %d\n", exten, res);
                pos = 0;
-               if (!strcasecmp(exten, "s"))
+               if (!strcasecmp(exten, "s")) {
                        strcpy(exten, "g");
-               else
+               } else {
                        break;
+               }
        }
        return res;
 }
@@ -1651,7 +1723,7 @@ int ast_ivr_menu_run(struct ast_channel *chan, struct ast_ivr_menu *menu, void *
        /* Hide internal coding */
        return res > 0 ? 0 : res;
 }
-       
+
 char *ast_read_textfile(const char *filename)
 {
        int fd, count = 0, res;
@@ -1694,8 +1766,9 @@ int ast_app_parse_options(const struct ast_app_option *options, struct ast_flags
 
        ast_clear_flag(flags, AST_FLAGS_ALL);
 
-       if (!optstr)
+       if (!optstr) {
                return 0;
+       }
 
        s = optstr;
        while (*s) {
@@ -1705,8 +1778,9 @@ int ast_app_parse_options(const struct ast_app_option *options, struct ast_flags
                        /* Has argument */
                        arg = ++s;
                        if ((s = strchr(s, ')'))) {
-                               if (argloc)
+                               if (argloc) {
                                        args[argloc - 1] = arg;
+                               }
                                *s++ = '\0';
                        } else {
                                ast_log(LOG_WARNING, "Missing closing parenthesis for argument '%c' in string '%s'\n", curarg, arg);
@@ -1733,9 +1807,10 @@ int ast_app_parse_options64(const struct ast_app_option *options, struct ast_fla
        unsigned int argloc;
 
        flags->flags = 0;
-       
-       if (!optstr)
+
+       if (!optstr) {
                return 0;
+       }
 
        s = optstr;
        while (*s) {
@@ -1746,8 +1821,9 @@ int ast_app_parse_options64(const struct ast_app_option *options, struct ast_fla
                        /* Has argument */
                        arg = ++s;
                        if ((s = strchr(s, ')'))) {
-                               if (argloc)
+                               if (argloc) {
                                        args[argloc - 1] = arg;
+                               }
                                *s++ = '\0';
                        } else {
                                ast_log(LOG_WARNING, "Missing closing parenthesis for argument '%c' in string '%s'\n", curarg, arg);
@@ -1799,12 +1875,13 @@ int ast_get_encoded_char(const char *stream, char *result, size_t *consumed)
                        /* Hexadecimal */
                        if (strchr("0123456789ABCDEFabcdef", *(stream + 2)) && *(stream + 2) != '\0') {
                                *consumed = 3;
-                               if (*(stream + 2) <= '9')
+                               if (*(stream + 2) <= '9') {
                                        *result = *(stream + 2) - '0';
-                               else if (*(stream + 2) <= 'F')
+                               } else if (*(stream + 2) <= 'F') {
                                        *result = *(stream + 2) - 'A' + 10;
-                               else
+                               } else {
                                        *result = *(stream + 2) - 'a' + 10;
+                               }
                        } else {
                                ast_log(LOG_ERROR, "Illegal character '%c' in hexadecimal string\n", *(stream + 2));
                                return -1;
@@ -1813,12 +1890,13 @@ int ast_get_encoded_char(const char *stream, char *result, size_t *consumed)
                        if (strchr("0123456789ABCDEFabcdef", *(stream + 3)) && *(stream + 3) != '\0') {
                                *consumed = 4;
                                *result <<= 4;
-                               if (*(stream + 3) <= '9')
+                               if (*(stream + 3) <= '9') {
                                        *result += *(stream + 3) - '0';
-                               else if (*(stream + 3) <= 'F')
+                               } else if (*(stream + 3) <= 'F') {
                                        *result += *(stream + 3) - 'A' + 10;
-                               else
+                               } else {
                                        *result += *(stream + 3) - 'a' + 10;
+                               }
                        }
                        break;
                case '0':
@@ -1831,8 +1909,9 @@ int ast_get_encoded_char(const char *stream, char *result, size_t *consumed)
                                        *result <<= 3;
                                        *result += *(stream + i) - '0';
                                        ast_debug(5, "is now %d\n", *result);
-                               } else
+                               } else {
                                        break;
+                               }
                        }
                        break;
                default: