From 65c1b1e8b20f9261d109cf4368aa651b64cfe977 Mon Sep 17 00:00:00 2001 From: Celine Mercier Date: Mon, 9 Nov 2015 15:22:01 +0100 Subject: [PATCH] Minor changes to make the creation of files and directories cleaner --- src/obidms.c | 3 +++ src/obidmscolumn.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/obidms.c b/src/obidms.c index 2162394..06b9ae5 100644 --- a/src/obidms.c +++ b/src/obidms.c @@ -128,7 +128,10 @@ OBIDMS_p obi_create_dms(const char* dms_name) if (mkdir(directory_name, 00777) < 0) { if (errno == EEXIST) + { obi_set_errno(OBIDMS_EXIST_ERROR); + obidebug(1, "\nAn OBIDMS directory with the same name already exists in this directory."); + } else obi_set_errno(OBIDMS_UNKNOWN_ERROR); obidebug(1, "\nProblem creating an OBIDMS directory"); diff --git a/src/obidmscolumn.c b/src/obidmscolumn.c index 9f66419..64f5ec5 100644 --- a/src/obidmscolumn.c +++ b/src/obidmscolumn.c @@ -338,7 +338,7 @@ static obiversion_t create_version_file(OBIDMS_column_directory_p column_directo return -1; // Get the file descriptor associated to the version file - version_file_descriptor = openat(column_directory->dir_fd, version_file_name, O_RDWR | O_CREAT, 0777); + version_file_descriptor = openat(column_directory->dir_fd, version_file_name, O_RDWR | O_CREAT | O_EXCL, 0777); if (version_file_descriptor < 0) { obi_set_errno(OBICOL_UNKNOWN_ERROR); @@ -660,7 +660,7 @@ OBIDMS_column_p obi_create_column(OBIDMS_p dms, } // Open the column file - column_file_descriptor = openat(column_directory->dir_fd, column_file_name, O_RDWR | O_CREAT, 0777); + column_file_descriptor = openat(column_directory->dir_fd, column_file_name, O_RDWR | O_CREAT | O_EXCL, 0777); if (column_file_descriptor < 0) { obi_set_errno(OBICOL_UNKNOWN_ERROR);