pkgsrc-ng/comms/asterisk/patches/patch-main_manager.c
2016-01-21 23:41:46 +01:00

103 lines
3.8 KiB
C

$NetBSD: patch-main_manager.c,v 1.5 2015/05/19 07:52:14 jnemeth Exp $
--- main/manager.c.orig 2014-12-17 09:24:50.000000000 +0000
+++ main/manager.c
@@ -1886,7 +1886,7 @@ static char *handle_showmanconn(struct a
struct mansession_session *session;
time_t now = time(NULL);
#define HSMCONN_FORMAT1 " %-15.15s %-55.55s %-10.10s %-10.10s %-8.8s %-8.8s %-5.5s %-5.5s\n"
-#define HSMCONN_FORMAT2 " %-15.15s %-55.55s %-10d %-10d %-8d %-8d %-5.5d %-5.5d\n"
+#define HSMCONN_FORMAT2 " %-15.15s %-55.55s %-10jd %-10jd %-8d %-8d %-5.5d %-5.5d\n"
int count = 0;
struct ao2_iterator i;
@@ -1912,8 +1912,8 @@ static char *handle_showmanconn(struct a
ao2_lock(session);
ast_cli(a->fd, HSMCONN_FORMAT2, session->username,
ast_sockaddr_stringify_addr(&session->addr),
- (int) (session->sessionstart),
- (int) (now - session->sessionstart),
+ (intmax_t) (session->sessionstart),
+ (intmax_t) (now - session->sessionstart),
session->fd,
session->inuse,
session->readperm,
@@ -2726,9 +2726,9 @@ static int action_ping(struct mansession
astman_append(
s,
"Ping: Pong\r\n"
- "Timestamp: %ld.%06lu\r\n"
+ "Timestamp: %jd.%06lu\r\n"
"\r\n",
- (long) now.tv_sec, (unsigned long) now.tv_usec);
+ (intmax_t) now.tv_sec, (unsigned long) now.tv_usec);
return 0;
}
@@ -3580,7 +3580,7 @@ static int action_status(struct mansessi
struct ast_channel *c;
char bridge[256];
struct timeval now = ast_tvnow();
- long elapsed_seconds = 0;
+ intmax_t elapsed_seconds = 0;
int channels = 0;
int all = ast_strlen_zero(name); /* set if we want all channels */
const char *id = astman_get_header(m, "ActionID");
@@ -3670,7 +3670,7 @@ static int action_status(struct mansessi
"Context: %s\r\n"
"Extension: %s\r\n"
"Priority: %d\r\n"
- "Seconds: %ld\r\n"
+ "Seconds: %jd\r\n"
"%s"
"Uniqueid: %s\r\n"
"%s"
@@ -3684,7 +3684,7 @@ static int action_status(struct mansessi
ast_channel_accountcode(c),
ast_channel_state(c),
ast_state2str(ast_channel_state(c)), ast_channel_context(c),
- ast_channel_exten(c), ast_channel_priority(c), (long)elapsed_seconds, bridge, ast_channel_uniqueid(c), ast_str_buffer(str), idText);
+ ast_channel_exten(c), ast_channel_priority(c), (intmax_t)elapsed_seconds, bridge, ast_channel_uniqueid(c), ast_str_buffer(str), idText);
} else {
astman_append(s,
"Event: Status\r\n"
@@ -5735,11 +5735,13 @@ static void append_channel_vars(struct a
AST_THREADSTORAGE(manager_event_buf);
#define MANAGER_EVENT_BUF_INITSIZE 256
+RAII_DECL(struct ao2_container *, sessions, ao2_cleanup);
+
int __ast_manager_event_multichan(int category, const char *event, int chancount,
struct ast_channel **chans, const char *file, int line, const char *func,
const char *fmt, ...)
{
- RAII_VAR(struct ao2_container *, sessions, ao2_global_obj_ref(mgr_sessions), ao2_cleanup);
+ RAII_VAR(struct ao2_container *, sessions, ao2_global_obj_ref(mgr_sessions));
struct mansession_session *session;
struct manager_custom_hook *hook;
struct ast_str *auth = ast_str_alloca(MAX_AUTH_PERM_STRING);
@@ -5765,8 +5767,8 @@ int __ast_manager_event_multichan(int ca
if (timestampevents) {
now = ast_tvnow();
ast_str_append(&buf, 0,
- "Timestamp: %ld.%06lu\r\n",
- (long)now.tv_sec, (unsigned long) now.tv_usec);
+ "Timestamp: %jd.%06lu\r\n",
+ (intmax_t)now.tv_sec, (unsigned long) now.tv_usec);
}
if (manager_debug) {
static int seq;
@@ -7361,9 +7363,11 @@ static char *handle_manager_show_events(
return CLI_SUCCESS;
}
+RAII_DECL(struct ao2_container *, events, ao2_cleanup);
+
static char *handle_manager_show_event(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
- RAII_VAR(struct ao2_container *, events, NULL, ao2_cleanup);
+ RAII_VAR(struct ao2_container *, events, NULL);
struct ao2_iterator it_events;
struct ast_xml_doc_item *item, *temp;
int length;