diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-04-21 03:02:22 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-04-21 03:02:22 +0000 |
commit | 13936098f7fe3c0565ec38448aa7976eba6c5c51 (patch) | |
tree | 879a6e81223aee0c2be265d543bbb57abe45a2df /pbx.c | |
parent | 3b13ba27d449c01d0596b578b8278761e1c61d40 (diff) |
Add epoch and date/time variables
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@876 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx.c')
-rwxr-xr-x | pbx.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -713,6 +713,8 @@ static void pbx_substitute_variables_temp(struct ast_channel *c,const char *var, { char *first,*second; char tmpvar[80] = ""; + time_t thistime; + struct tm brokentime; int offset,offset2; struct ast_var_t *variables; char *name, *num; /* for callerid name + num variables */ @@ -807,6 +809,21 @@ static void pbx_substitute_variables_temp(struct ast_channel *c,const char *var, } else if (!strcmp(var, "CHANNEL")) { strncpy(workspace, c->name, workspacelen - 1); *ret = workspace; + } else if (!strcmp(var, "EPOCH")) { + snprintf(workspace, workspacelen -1, "%u",(int)time(NULL)); + *ret = workspace; + } else if (!strcmp(var, "DATETIME")) { + thistime=time(NULL); + localtime_r(&thistime, &brokentime); + snprintf(workspace, workspacelen -1, "%02d%02d%04d-%02d:%02d:%02d", + brokentime.tm_mday, + brokentime.tm_mon+1, + brokentime.tm_year+1900, + brokentime.tm_hour, + brokentime.tm_min, + brokentime.tm_sec + ); + *ret = workspace; } else { AST_LIST_TRAVERSE(headp,variables,entries) { #if 0 |