diff options
author | Louie S <louie@example.com> | 2022-11-06 16:28:17 -0800 |
---|---|---|
committer | Louie S <louie@example.com> | 2022-11-06 16:28:17 -0800 |
commit | 2c29b6a5145a4c44cbef03197db64cd2d7decd15 (patch) | |
tree | db4129c7efad3b79ee1b21c5ed4ef634044de5eb /src/unix/cache.c | |
parent | 77c6ef13a0599fdb9966a3a7dc967e204b77c7d5 (diff) |
Basic functionality for using autotools over basic Makefile
Diffstat (limited to 'src/unix/cache.c')
-rw-r--r-- | src/unix/cache.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/unix/cache.c b/src/unix/cache.c new file mode 100644 index 0000000..e618602 --- /dev/null +++ b/src/unix/cache.c @@ -0,0 +1,35 @@ +#include <assert.h> +#include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> +#include <sys/stat.h> +#include <sys/types.h> + +#include "../include/cache.h" +#include "../include/read_cfg.h" + +char *get_cache_path(bool create){ + char *path = malloc(sizeof(char) * BUF_LEN); + char *home = getenv("HOME"); + + assert(path != NULL); + + if(home == NULL){ + printf("Failed to save cache data: HOME is not set\n"); + free(path); + return NULL; + } + + //if create is asserted, build the path to the file + if(create){ + sprintf(path, "%s%c.cache%c", home, sep, sep); + mkdir(path, 0755); + + sprintf(path, "%s%c.cache%cterminal-media-launcher%c", home, sep, sep, sep); + mkdir(path, 0755); + } + + sprintf(path, "%s%c.cache%cterminal-media-launcher%cdata.bin", home, sep, sep, sep); + + return path; +} |