Skip to content
Snippets Groups Projects
Commit 5845408a authored by Kevin P. Fleming's avatar Kevin P. Fleming
Browse files

update app to use args parser

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 4662d58b
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@
* Asterisk -- An open source telephony toolkit.
*
* Copyright (c) 2003 Tilghman Lesher. All rights reserved.
* Copyright (c) 2006 Digium, Inc.
*
* Tilghman Lesher <app_sayunixtime__200309@the-tilghman.com>
*
......@@ -40,7 +41,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/say.h"
#include "asterisk/app.h"
static char *tdesc = "Say time";
......@@ -72,34 +73,39 @@ LOCAL_USER_DECL;
static int sayunixtime_exec(struct ast_channel *chan, void *data)
{
int res=0;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(timeval);
AST_APP_ARG(timezone);
AST_APP_ARG(format);
);
char *parse;
int res = 0;
struct localuser *u;
char *s,*zone=NULL,*timec,*format;
time_t unixtime;
s = ast_strdupa(data);
if (!s)
return data ? -1 : 0;
if (!data)
return 0;
if (!(parse = ast_strdupa(data)))
return -1;
LOCAL_USER_ADD(u);
format = "c"; /* default datetime */
args.format = "c"; /* default datetime */
timec = strsep(&s,"|");
ast_get_time_t(timec, &unixtime, time(NULL));
if (s) {
zone = strsep(&s,"|");
if (ast_strlen_zero(zone))
zone = NULL;
}
if (s) /* override format */
format = s;
AST_STANDARD_APP_ARGS(args, parse);
ast_get_time_t(args.timeval, &unixtime, time(NULL));
if (chan->_state != AST_STATE_UP)
res = ast_answer(chan);
if (!res)
res = ast_say_date_with_format(chan, unixtime, AST_DIGIT_ANY, chan->language, format, zone);
res = ast_say_date_with_format(chan, unixtime, AST_DIGIT_ANY,
chan->language, args.format, args.timezone);
LOCAL_USER_REMOVE(u);
return res;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment