diff --git a/app.c b/app.c index 8c6ceffa7265dacb84c4943bb9c6a2d36c32710e..e05d9d4714c56aa9f928d6827dd6dbf83a949da8 100644 --- a/app.c +++ b/app.c @@ -549,8 +549,7 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile, sfmt[fmtcnt++] = ast_strdupa(fmt); } - time(&start); - end = start; /* pre-initialize end to be same as start in case we never get into loop */ + end = start = time(NULL); /* pre-initialize end to be same as start in case we never get into loop */ for (x = 0; x < fmtcnt; x++) { others[x] = ast_writefile(prepend ? prependfile : recordfile, sfmt[x], comment, O_TRUNC, 0, 0700); if (option_verbose > 2) @@ -670,7 +669,7 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile, } } if (maxtime) { - time(&end); + end = time(NULL); if (maxtime < (end - start)) { if (option_verbose > 2) ast_verbose(VERBOSE_PREFIX_3 "Took too long, cutting it short...\n"); @@ -689,7 +688,8 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile, } else { ast_frfree(f); } - if (end == start) time(&end); + if (end == start) + end = time(NULL); } else { ast_log(LOG_WARNING, "Error creating writestream '%s', format '%s'\n", recordfile, sfmt[x]); } @@ -931,7 +931,7 @@ enum AST_LOCK_RESULT ast_lock_path(const char *path) close(fd); snprintf(s, strlen(path) + 9, "%s/.lock", path); - time(&start); + start = time(NULL); while (((res = link(fs, s)) < 0) && (errno == EEXIST) && (time(NULL) - start < 5)) usleep(1); if (res) {