From c0060cd99a0a318b504da4c13eee85f3b9043fdc Mon Sep 17 00:00:00 2001 From: Steve Murphy Date: Thu, 16 Aug 2007 19:40:28 +0000 Subject: [PATCH] Many thanks to mvanbaak for his update to translate hints; I added the -d option for local testing purposes. This is from bug 10472 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79736 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- utils/conf2ael.c | 35 +++++++++++++++++++++++++++++++---- utils/pval.c | 2 +- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/utils/conf2ael.c b/utils/conf2ael.c index 7616b305fa..9b0f8a6c0b 100644 --- a/utils/conf2ael.c +++ b/utils/conf2ael.c @@ -340,9 +340,17 @@ int main(int argc, char **argv) struct ast_sw *sw = 0; struct ast_ignorepat *ipi; pval *incl=0; + int localdir = 0, i; tree = 0; tmptree = 0; + + /* process the command line args */ + for (i=1; iexten)); - + if (eroot->peer) { pval *block = pvalCreateNode(PV_STATEMENTBLOCK); pvalExtenSetStatement(exten, block); e = 0; while ( (e = localized_walk_extension_priorities(eroot, e)) ) { - /* printf(" %s(%s)\n", e->app, (char*)e->data); */ pval *statemnt = pvalCreateNode(PV_APPLICATION_CALL); pval *args = pvalCreateNode(PV_WORD); + /* printf(" %s(%s)\n", e->app, (char*)e->data); */ + pvalAppCallSetAppName(statemnt, ast_strdup(e->app)); pvalWordSetString(args, ast_strdup(e->data)); pvalAppCallAddArg(statemnt, args); pvalStatementBlockAddStatement(block, statemnt); } - } else { + } else if (eroot->priority == -1) { + pval *statemnt = pvalCreateNode(PV_APPLICATION_CALL); pval *args = pvalCreateNode(PV_WORD); + /* printf("Mike, we have a hint on exten %s with data %s\n", eroot->exten, eroot->app); */ + + pvalAppCallSetAppName(statemnt, "NoOp"); + pvalWordSetString(args, ast_strdup(eroot->app)); + + + pvalExtenSetStatement(exten, statemnt); + pvalExtenSetHints(exten, ast_strdup(eroot->app)); + } else { + + pval *statemnt = pvalCreateNode(PV_APPLICATION_CALL); + pval *args = pvalCreateNode(PV_WORD); + /* printf(" %s (%s)\n", eroot->app, (char *)eroot->data); */ pvalAppCallSetAppName(statemnt, ast_strdup(eroot->app)); diff --git a/utils/pval.c b/utils/pval.c index d2c37149ec..3dd5b30cdb 100644 --- a/utils/pval.c +++ b/utils/pval.c @@ -343,7 +343,7 @@ static void print_pval(FILE *fin, pval *item, int depth) if ( item->u4.regexten ) fprintf(fin, "regexten "); if ( item->u3.hints ) - fprintf(fin,"hints(%s) ", item->u3.hints); + fprintf(fin,"hint(%s) ", item->u3.hints); fprintf(fin,"%s => \n", item->u1.str); print_pval_list(fin,item->u2.statements,depth+1);