diff options
| author | Mosder <xmosder12@gmail.com> | 2026-06-11 17:26:52 +0200 |
|---|---|---|
| committer | Mosder <xmosder12@gmail.com> | 2026-06-11 17:26:52 +0200 |
| commit | 070f39fc2b033bcf53797480c4b1ce27a0eb0f91 (patch) | |
| tree | f1d77847c9baeffafcd790889f44bf1600010e11 /analyzer/utils/fs.c | |
| parent | fde7f41c89391a0d3ddebcbc7b5326c2a486a6ca (diff) | |
feat: added utils/fs.h for filesystem operations and made a function to create necessary directories
Diffstat (limited to 'analyzer/utils/fs.c')
| -rw-r--r-- | analyzer/utils/fs.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/analyzer/utils/fs.c b/analyzer/utils/fs.c new file mode 100644 index 0000000..76fb581 --- /dev/null +++ b/analyzer/utils/fs.c @@ -0,0 +1,43 @@ +#include "utils.h" + +#include <fcntl.h> +#include <sys/stat.h> +#include <unistd.h> + +void get_home_dir(char *home_dir) { + strcpy(home_dir, getenv("HOME")); +} + +void get_main_dir(char *main_dir) { + char home_dir[256]; + get_home_dir(home_dir); + sprintf(main_dir, "%s/.local/share/branal", home_dir); +} + +void get_capture_dir(char *capture_dir) { + char main_dir[256]; + get_main_dir(main_dir); + sprintf(capture_dir, "%s/captures", main_dir); +} + +void get_saves_dir(char *saves_dir) { + char main_dir[256]; + get_main_dir(main_dir); + sprintf(saves_dir, "%s/saves", main_dir); +} + +void create_necessary_directories() { + char main_dir[256], capture_dir[256], saves_dir[256]; + get_main_dir(main_dir); + get_capture_dir(capture_dir); + get_saves_dir(saves_dir); + mkdir(main_dir, 0755); + mkdir(capture_dir, 0755); + mkdir(saves_dir, 0755); +} + +void write_file(char *path, void *contents, int contents_len, int flags, mode_t permissions) { + int fd = open(path, flags, permissions); + write(fd, contents, contents_len); + close(fd); +} |
