summaryrefslogtreecommitdiff
path: root/res/res_stasis_recording.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/res_stasis_recording.c')
-rw-r--r--res/res_stasis_recording.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/res/res_stasis_recording.c b/res/res_stasis_recording.c
index 49044c443..bd2177a76 100644
--- a/res/res_stasis_recording.c
+++ b/res/res_stasis_recording.c
@@ -348,6 +348,14 @@ struct stasis_app_recording *stasis_app_control_record(
recording->control = control;
recording->state = STASIS_APP_RECORDING_STATE_QUEUED;
+ if ((recording->options->if_exists == AST_RECORD_IF_EXISTS_FAIL) &&
+ (ast_fileexists(recording->absolute_name, NULL, NULL))) {
+ ast_log(LOG_WARNING, "Recording file '%s' already exists and ifExists option is failure.\n",
+ recording->absolute_name);
+ errno = EEXIST;
+ return NULL;
+ }
+
{
RAII_VAR(struct stasis_app_recording *, old_recording, NULL,
ao2_cleanup);