pos = 1;
ast_cli(fd, " Callers: \n");
for (qe = q->head; qe; qe = qe->next)
- ast_cli(fd, " %d. %s (wait: %d:%02.2d)\n", pos++, qe->chan->name,
+ ast_cli(fd, " %d. %s (wait: %d:%2.2d)\n", pos++, qe->chan->name,
(now - qe->start) / 60, (now - qe->start) % 60);
} else
ast_cli(fd, " No Callers\n");
"Wait: %ld\r\n"
"%s"
"\r\n",
- q->name, pos++, qe->chan->name, (qe->chan->callerid ? qe->chan->callerid : ""), now - qe->start), idText;
+ q->name, pos++, qe->chan->name, (qe->chan->callerid ? qe->chan->callerid : ""), (long)(now - qe->start), idText);
ast_mutex_unlock(&q->lock);
q = q->next;
}
#include <stdarg.h>
-extern void ast_cli(int fd, char *fmt, ...);
+extern void ast_cli(int fd, char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
#define RESULT_SUCCESS 0
#define RESULT_SHOWUSAGE 1
ast_mutex_unlock(&conlock);
if (app) {
if (c->context != context)
- strncpy(c->context, context, sizeof(c->context-1));
+ strncpy(c->context, context, sizeof(c->context)-1);
if (c->exten != exten)
strncpy(c->exten, exten, sizeof(c->exten)-1);
c->priority = priority;
/* try to lock contexts */
if (ast_lock_contexts()) {
- ast_cli(LOG_WARNING, "Failed to lock contexts list\n");
+ ast_log(LOG_WARNING, "Failed to lock contexts list\n");
return RESULT_FAILURE;
}
res = 0;
if (option_verbose > 3)
ast_verbose(VERBOSE_PREFIX_4 "Channel %s was answered.\n", chan->name);
- if (context && strlen(context))
+ if (context && *context)
strncpy(chan->context, context, sizeof(chan->context) - 1);
- if (exten && strlen(exten))
+ if (exten && *exten)
strncpy(chan->exten, exten, sizeof(chan->exten) - 1);
- if (callerid && strlen(callerid))
- strncpy(chan->callerid, callerid, sizeof(chan->callerid) - 1);
+ if (callerid && *callerid) {
+ /* XXX call ast_set_callerid? */
+ if (chan->callerid)
+ free(chan->callerid);
+ chan->callerid = strdup(callerid);
+ }
if (priority > 0)
chan->priority = priority;
if (sync > 1) {
break;
default:
- ast_cli(fd, "Failed to remove ignore pattern '%s' from '%s' context\n");
+ ast_cli(fd, "Failed to remove ignore pattern '%s' from '%s' context\n", argv[2], argv[4]);
break;
}
return RESULT_FAILURE;
#include <stdlib.h>
#include <errno.h>
#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
#include <asterisk/lock.h>
#include <asterisk/channel.h>
cur=parkinglot;
while(cur) {
- ast_cli(fd, "%4d %25s (%-15s %-12s %-4d) %6ds\n"
+ ast_cli(fd, "%4d %25s (%-15s %-12s %-4d) %6lds\n"
,cur->parkingnum, cur->chan->name, cur->context, cur->exten
,cur->priority, cur->start.tv_sec + (cur->parkingtime/1000) - time(NULL));