[asterisk-commits] trunk r10106 - /trunk/apps/app_sayunixtime.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Tue Feb 14 17:33:08 MST 2006
Author: kpfleming
Date: Tue Feb 14 18:33:07 2006
New Revision: 10106
URL: http://svn.digium.com/view/asterisk?rev=10106&view=rev
Log:
update app to use args parser
Modified:
trunk/apps/app_sayunixtime.c
Modified: trunk/apps/app_sayunixtime.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_sayunixtime.c?rev=10106&r1=10105&r2=10106&view=diff
==============================================================================
--- trunk/apps/app_sayunixtime.c (original)
+++ trunk/apps/app_sayunixtime.c Tue Feb 14 18:33:07 2006
@@ -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 at the-tilghman.com>
*
@@ -40,7 +41,7 @@
#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 @@
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;
}
More information about the asterisk-commits
mailing list