Modified: freeswitch/trunk/contrib/gled/esl2agi/esl2agi.c (14731 => 14732)
--- freeswitch/trunk/contrib/gled/esl2agi/esl2agi.c 2009-09-02 13:39:45 UTC (rev 14731)
+++ freeswitch/trunk/contrib/gled/esl2agi/esl2agi.c 2009-09-02 13:47:59 UTC (rev 14732)
@@ -397,7 +397,7 @@
* Hangup AGI cmd
* TODO: - Add arg support to know which channel we want to hangup.
*/
-static int handle_hangup(esl_handle_t *eslC,int fd, char *args) {
+static int handle_hangup(esl_handle_t *eslC,int fd,int *argc, char *argv[]) {
esl_status_t status;
status = esl_execute(eslC,"hangup",NULL,NULL);
@@ -418,7 +418,7 @@
/*
* Answer AGI cmd
*/
-static int handle_answer(esl_handle_t *eslC,int fd,char *args) {
+static int handle_answer(esl_handle_t *eslC,int fd,int *argc, char *argv[]) {
esl_status_t status;
status = esl_execute(eslC,"answer",NULL,NULL);
@@ -527,7 +527,7 @@
bind = find_binding(argv);
if (bind) {
- r = bind->handler(eslC,fd,buf);
+ r = bind->handler(eslC,fd,&argc,argv);
}
else {
fprintf(stderr,"Binding not found: '%s'",buf);
Modified: freeswitch/trunk/contrib/gled/esl2agi/esl2agi.h (14731 => 14732)
--- freeswitch/trunk/contrib/gled/esl2agi/esl2agi.h 2009-09-02 13:39:45 UTC (rev 14731)
+++ freeswitch/trunk/contrib/gled/esl2agi/esl2agi.h 2009-09-02 13:47:59 UTC (rev 14732)
@@ -77,7 +77,7 @@
typedef struct command_binding_t {
char *cmd[_MAX_CMD_LEN];
- int (*handler)(esl_handle_t *eslC,int fd,char *args);
+ int (*handler)(esl_handle_t *eslC,int fd,int *argc, char *argv[]);
struct command_binding *next;
} command_binding_t;
@@ -104,13 +104,13 @@
static int handle_setup_env(int fd,esl_handle_t *eslC);
-static void parse_args(char *buf,int *argc,char *argv[1024]);
+static void parse_args(char *buf,int *argc,char *argv[_MAX_CMD_ARGS]);
static command_binding_t *find_binding(char *cmd[]);
-static int handle_hangup(esl_handle_t *eslC,int fd,char *args);
+static int handle_hangup(esl_handle_t *eslC,int fd,int *argc, char *argv[_MAX_CMD_ARGS]);
-static int handle_answer(esl_handle_t *eslC,int fd, char *args);
+static int handle_answer(esl_handle_t *eslC,int fd, int *argc, char *argv[_MAX_CMD_ARGS]);
static int find_and_exec_command(esl_handle_t *eslC,int fd,char *buf);