diff options
Diffstat (limited to 'apps/app_sayunixtime.c')
-rw-r--r-- | apps/app_sayunixtime.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/apps/app_sayunixtime.c b/apps/app_sayunixtime.c index 4739d9796..cde4e65c9 100644 --- a/apps/app_sayunixtime.c +++ b/apps/app_sayunixtime.c @@ -92,21 +92,26 @@ static int sayunixtime_exec(struct ast_channel *chan, void *data) } if (data) { - s = ast_strdupa(data); - timec = strsep(&s,"|"); - if ((timec) && (*timec != '\0')) { - long timein; - if (sscanf(timec,"%ld",&timein) == 1) { - unixtime = (time_t)timein; - } - } + s = data; + s = ast_strdupa(s); if (s) { - zone = strsep(&s,"|"); - if (zone && (*zone == '\0')) - zone = NULL; + timec = strsep(&s,"|"); + if ((timec) && (*timec != '\0')) { + long timein; + if (sscanf(timec,"%ld",&timein) == 1) { + unixtime = (time_t)timein; + } + } if (s) { - format = s; + zone = strsep(&s,"|"); + if (zone && (*zone == '\0')) + zone = NULL; + if (s) { + format = s; + } } + } else { + ast_log(LOG_ERROR, "Out of memory error\n"); } } |