Simplify sig_pri.c:build_status().
authorRichard Mudgett <rmudgett@digium.com>
Thu, 21 Apr 2011 22:42:41 +0000 (22:42 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 21 Apr 2011 22:42:41 +0000 (22:42 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@314734 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/sig_pri.c

index f3bf646..49fb246 100644 (file)
@@ -8668,18 +8668,10 @@ static void build_status(char *s, size_t len, int status, int active)
        if (!s || len < 1) {
                return;
        }
-       s[0] = '\0';
-       if (!(status & DCHAN_NOTINALARM))
-               strncat(s, "In Alarm, ", len - strlen(s) - 1);
-       if (status & DCHAN_UP)
-               strncat(s, "Up", len - strlen(s) - 1);
-       else
-               strncat(s, "Down", len - strlen(s) - 1);
-       if (active)
-               strncat(s, ", Active", len - strlen(s) - 1);
-       else
-               strncat(s, ", Standby", len - strlen(s) - 1);
-       s[len - 1] = '\0';
+       snprintf(s, len, "%s%s, %s",
+               (status & DCHAN_NOTINALARM) ? "" : "In Alarm, ",
+               (status & DCHAN_UP) ? "Up" : "Down",
+               (active) ? "Active" : "Standby");
 }
 
 void sig_pri_cli_show_spans(int fd, int span, struct sig_pri_span *pri)