diff options
author | Russell Bryant <russell@digium.com> | 2008-08-02 14:56:38 +0000 |
---|---|---|
committer | Russell Bryant <russell@digium.com> | 2008-08-02 14:56:38 +0000 |
commit | 5515d6aa6cccbcd9fcaa3bc58e2e706f861f0ad7 (patch) | |
tree | 8b091e4c08e62f0a68088821acc1616ee8c97cae /drivers/dahdi/dahdi-base.c | |
parent | 22c561f7a2c3e73a7a9837164457a24a47e9d223 (diff) |
- align case with switch
- constify return of sigstr()
- rework implementation of fill_alarm_string to only use one call to snprintf()
and avoid more complicated string building logic
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4664 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/dahdi-base.c')
-rw-r--r-- | drivers/dahdi/dahdi-base.c | 121 |
1 files changed, 58 insertions, 63 deletions
diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c index 4eda8a9..7385b9d 100644 --- a/drivers/dahdi/dahdi-base.c +++ b/drivers/dahdi/dahdi-base.c @@ -469,76 +469,71 @@ static int dahdi_q_sig(struct dahdi_chan *chan) } #ifdef CONFIG_PROC_FS -static char *sigstr(int sig) +static const char *sigstr(int sig) { switch (sig) { - case DAHDI_SIG_FXSLS: - return "FXSLS"; - case DAHDI_SIG_FXSKS: - return "FXSKS"; - case DAHDI_SIG_FXSGS: - return "FXSGS"; - case DAHDI_SIG_FXOLS: - return "FXOLS"; - case DAHDI_SIG_FXOKS: - return "FXOKS"; - case DAHDI_SIG_FXOGS: - return "FXOGS"; - case DAHDI_SIG_EM: - return "E&M"; - case DAHDI_SIG_EM_E1: - return "E&M-E1"; - case DAHDI_SIG_CLEAR: - return "Clear"; - case DAHDI_SIG_HDLCRAW: - return "HDLCRAW"; - case DAHDI_SIG_HDLCFCS: - return "HDLCFCS"; - case DAHDI_SIG_HDLCNET: - return "HDLCNET"; - case DAHDI_SIG_HARDHDLC: - return "Hardware-assisted HDLC"; - case DAHDI_SIG_MTP2: - return "MTP2"; - case DAHDI_SIG_SLAVE: - return "Slave"; - case DAHDI_SIG_CAS: - return "CAS"; - case DAHDI_SIG_DACS: - return "DACS"; - case DAHDI_SIG_DACS_RBS: - return "DACS+RBS"; - case DAHDI_SIG_SF: - return "SF (ToneOnly)"; - case DAHDI_SIG_NONE: - default: - return "Unconfigured"; + case DAHDI_SIG_FXSLS: + return "FXSLS"; + case DAHDI_SIG_FXSKS: + return "FXSKS"; + case DAHDI_SIG_FXSGS: + return "FXSGS"; + case DAHDI_SIG_FXOLS: + return "FXOLS"; + case DAHDI_SIG_FXOKS: + return "FXOKS"; + case DAHDI_SIG_FXOGS: + return "FXOGS"; + case DAHDI_SIG_EM: + return "E&M"; + case DAHDI_SIG_EM_E1: + return "E&M-E1"; + case DAHDI_SIG_CLEAR: + return "Clear"; + case DAHDI_SIG_HDLCRAW: + return "HDLCRAW"; + case DAHDI_SIG_HDLCFCS: + return "HDLCFCS"; + case DAHDI_SIG_HDLCNET: + return "HDLCNET"; + case DAHDI_SIG_HARDHDLC: + return "Hardware-assisted HDLC"; + case DAHDI_SIG_MTP2: + return "MTP2"; + case DAHDI_SIG_SLAVE: + return "Slave"; + case DAHDI_SIG_CAS: + return "CAS"; + case DAHDI_SIG_DACS: + return "DACS"; + case DAHDI_SIG_DACS_RBS: + return "DACS+RBS"; + case DAHDI_SIG_SF: + return "SF (ToneOnly)"; + case DAHDI_SIG_NONE: + default: + return "Unconfigured"; } - } -static inline int fill_alarm_string(char *buf, int count, int alarms) +static int fill_alarm_string(char *buf, int count, int alarms) { - int len = 0; + int len; + + if (alarms <= 0) + return 0; + + len = snprintf(buf, count, "%s%s%s%s%s%s", + (alarms & DAHDI_ALARM_BLUE) ? "BLUE " : "", + (alarms & DAHDI_ALARM_YELLOW) ? "YELLOW " : "", + (alarms & DAHDI_ALARM_RED) ? "RED " : "", + (alarms & DAHDI_ALARM_LOOPBACK) ? "LOOP " : "", + (alarms & DAHDI_ALARM_RECOVER) ? "RECOVERING " : "", + (alarms & DAHDI_ALARM_NOTOPEN) ? "NOTOPEN " : ""); + + if (len) + buf[--len] = '\0'; /* strip last space */ - if (alarms > 0) { - if (alarms & DAHDI_ALARM_BLUE) - len += snprintf(buf + len, count - len, "BLUE "); - if (alarms & DAHDI_ALARM_YELLOW) - len += snprintf(buf + len, count - len, "YELLOW "); - if (alarms & DAHDI_ALARM_RED) - len += snprintf(buf + len, count - len, "RED "); - if (alarms & DAHDI_ALARM_LOOPBACK) - len += snprintf(buf + len, count - len, "LOOP "); - if (alarms & DAHDI_ALARM_RECOVER) - len += snprintf(buf + len, count - len, "RECOVERING "); - if (alarms & DAHDI_ALARM_NOTOPEN) - len += snprintf(buf + len, count - len, "NOTOPEN "); - } - if(len > 0) { - len--; - buf[len] = '\0'; /* strip last space */ - } return len; } |