diff options
Diffstat (limited to 'C/final-project-z2h/src/file.c')
| -rw-r--r-- | C/final-project-z2h/src/file.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/C/final-project-z2h/src/file.c b/C/final-project-z2h/src/file.c new file mode 100644 index 0000000..fcdb036 --- /dev/null +++ b/C/final-project-z2h/src/file.c @@ -0,0 +1,39 @@ +#include <stdio.h> + +#include <unistd.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "file.h" +#include "common.h" + + +int create_db_file(char *filename) { + int fd = open(filename, O_RDWR); + if (fd != -1) { + close(fd); + printf("File already exists\n"); + return STATUS_ERROR; + } + + fd = open(filename, O_RDWR | O_CREAT, 0644); + if (fd == -1) { + perror("open"); + return STATUS_ERROR; + } + + return fd; +} + +int open_db_file(char *filename) { + int fd = open(filename, O_RDWR, 0644); + if (fd == -1) { + perror("open"); + return STATUS_ERROR; + } + + return fd; +} + + |
