[svn-commits] rmudgett: branch 1.4 r1107 - /branches/1.4/pri.c
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Mon Sep 21 21:23:52 CDT 2009
Author: rmudgett
Date: Mon Sep 21 21:23:48 2009
New Revision: 1107
URL: http://svnview.digium.com/svn/libpri?view=rev&rev=1107
Log:
Update pri_event2str() to current defined events.
Modified:
branches/1.4/pri.c
Modified: branches/1.4/pri.c
URL: http://svnview.digium.com/svn/libpri/branches/1.4/pri.c?view=diff&rev=1107&r1=1106&r2=1107
==============================================================================
--- branches/1.4/pri.c (original)
+++ branches/1.4/pri.c Mon Sep 21 21:23:48 2009
@@ -355,44 +355,41 @@
char *pri_event2str(int id)
{
- switch(id) {
- case PRI_EVENT_DCHAN_UP:
- return "D-Channel Up";
- case PRI_EVENT_DCHAN_DOWN:
- return "D-channel Down";
- case PRI_EVENT_RESTART:
- return "Restart channel";
- case PRI_EVENT_RING:
- return "Ring";
- case PRI_EVENT_HANGUP:
- return "Hangup";
- case PRI_EVENT_RINGING:
- return "Ringing";
- case PRI_EVENT_ANSWER:
- return "Answer";
- case PRI_EVENT_HANGUP_ACK:
- return "Hangup ACK";
- case PRI_EVENT_RESTART_ACK:
- return "Restart ACK";
- case PRI_EVENT_FACILITY:
- return "Facility";
- case PRI_EVENT_INFO_RECEIVED:
- return "Info Received";
- case PRI_EVENT_PROCEEDING:
- return "Proceeding";
- case PRI_EVENT_SETUP_ACK:
- return "Setup ACK";
- case PRI_EVENT_HANGUP_REQ:
- return "Hangup Req";
- case PRI_EVENT_NOTIFY:
- return "Notify";
- case PRI_EVENT_PROGRESS:
- return "Progress";
- case PRI_EVENT_CONFIG_ERR:
- return "Configuration Error";
- default:
- return "Unknown Event";
- }
+ unsigned idx;
+ struct {
+ int id;
+ char *name;
+ } events[] = {
+/* *INDENT-OFF* */
+ { PRI_EVENT_DCHAN_UP, "D-Channel Up" },
+ { PRI_EVENT_DCHAN_DOWN, "D-channel Down" },
+ { PRI_EVENT_RESTART, "Restart channel" },
+ { PRI_EVENT_CONFIG_ERR, "Configuration Error" },
+ { PRI_EVENT_RING, "Ring" },
+ { PRI_EVENT_HANGUP, "Hangup" },
+ { PRI_EVENT_RINGING, "Ringing" },
+ { PRI_EVENT_ANSWER, "Answer" },
+ { PRI_EVENT_HANGUP_ACK, "Hangup ACK" },
+ { PRI_EVENT_RESTART_ACK, "Restart ACK" },
+ { PRI_EVENT_FACILITY, "Facility" },
+ { PRI_EVENT_INFO_RECEIVED, "Info Received" },
+ { PRI_EVENT_PROCEEDING, "Proceeding" },
+ { PRI_EVENT_SETUP_ACK, "Setup ACK" },
+ { PRI_EVENT_HANGUP_REQ, "Hangup Req" },
+ { PRI_EVENT_NOTIFY, "Notify" },
+ { PRI_EVENT_PROGRESS, "Progress" },
+ { PRI_EVENT_KEYPAD_DIGIT, "Keypad Digit" },
+ { PRI_EVENT_SERVICE, "Service" },
+ { PRI_EVENT_SERVICE_ACK, "Service ACK" },
+/* *INDENT-ON* */
+ };
+
+ for (idx = 0; idx < ARRAY_LEN(events); ++idx) {
+ if (events[idx].id == id) {
+ return events[idx].name;
+ }
+ }
+ return "Unknown Event";
}
pri_event *pri_check_event(struct pri *pri)
More information about the svn-commits
mailing list