aboutsummaryrefslogtreecommitdiff
path: root/src/globs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/globs.c')
-rw-r--r--src/globs.c89
1 files changed, 28 insertions, 61 deletions
diff --git a/src/globs.c b/src/globs.c
index 61d3ea6..519e5f9 100644
--- a/src/globs.c
+++ b/src/globs.c
@@ -19,79 +19,46 @@
*/
#include <stdlib.h>
-#include <stdio.h>
#include "globs.h"
#include "files.h"
+#include "log.h"
#include "lua_vars.h"
#include "str.h"
-int is_verbose = 1;
-int is_forced = 0;
+install_dirs_t inst_dirs = {0};
+cli_flags_t flags = {0};
+config_t cfg = {0};
-int is_root_config = 0;
-str home_config_dir;
-str home_config_file;
-str home_repos_file;
-str root_config_dir;
-str root_config_file;
-str root_repos_file;
-str config_dir;
-str config_file;
-str repos_file;
-
-str prefix_dir;
+void init_vars(void) {
+ if (file_exists("/etc/pkgit/repos.lua")) {
+ cfg.dir = mstr("/etc/pkgit");
+ cfg.name = mstr("/etc/pkgit/repos.lua");
-str bin;
-str lib;
-str include;
-str src;
+ } else {
+ const char *tmp = getenv("XDG_CONFIG_HOME");
+ if (tmp) {
+ cfg.dir = str_format("%s/pkgit", tmp);
+ } else {
+ cfg.dir = str_format("%s/.config/pkgit", getenv("HOME"));
+ }
+ cfg.name = str_concat_cstr(&cfg.dir, "/init.lua");
+ }
+ // TODO: read into cfg.content
-void init_vars(void) {
- home_config_dir = str_format("%s/.config/pkgit", getenv("HOME"));
- home_config_file = str_format("%s/init.lua", home_config_dir.data);
- home_repos_file = str_format("%s/repos.lua", home_config_dir.data);
- root_config_dir = str_from_cstr("/etc/pkgit");
- root_config_file = str_format("%s/init.lua", root_config_dir.data);
- root_repos_file = str_format("%s/repos.lua", root_config_dir.data);
- str_copy_into(&config_dir, &home_config_dir);
- if (file_exists(root_config_file.data)) str_copy_into(&config_dir, &root_config_dir);
- config_file = str_format("%s/init.lua", config_dir.data);
- repos_file = str_format("%s/repos.lua", config_dir.data);
+ cfg.repos = str_format("%.*s/repos.lua", str_fmt(&cfg.dir));
init_install_directories();
}
void free_vars(void) {
- str_free(&home_config_dir);
- str_free(&home_config_file);
- str_free(&home_repos_file);
- str_free(&root_config_dir);
- str_free(&root_config_file);
- str_free(&root_repos_file);
- str_free(&config_dir);
- str_free(&config_file);
- str_free(&repos_file);
+ str_free(&cfg.dir);
+ str_free(&cfg.name);
+ str_free(&cfg.content);
+ str_free(&cfg.repos);
+ str_free(&inst_dirs.prefix);
+ str_free(&inst_dirs.bin);
+ str_free(&inst_dirs.lib);
+ str_free(&inst_dirs.include);
+ str_free(&inst_dirs.src);
}
-
-// old init_vars()
-//
-// is_root_config = file_exists(root_config);
-// if (is_root_config) snprintf(config_dir, MAX_PATH_LEN, "/etc/pkgit");
-// else snprintf(config_dir, MAX_PATH_LEN, "%s/.config/pkgit", home_dir);
-//
-// snprintf(config_file, MAX_PATH_LEN, "%s/init.lua", config_dir);
-// snprintf(repo_file, MAX_PATH_LEN, "%s/repos.lua", config_dir);
-//
-// config_exists = file_exists(root_config) || file_exists(home_config());
-//
-// snprintf(bin, MAX_PATH_LEN, "%s/.local/bin", home_dir);
-// snprintf(lib, MAX_PATH_LEN, "%s/.local/lib", home_dir);
-// snprintf(inc, MAX_PATH_LEN, "%s/.local/include", home_dir);
-// snprintf(src, MAX_PATH_LEN, "%s/.local/share/pkgit", home_dir);
-//
-// install_directories[0] = config_dir;
-// install_directories[1] = strdup(get_install_dir("bin"));
-// install_directories[2] = strdup(get_install_dir("lib"));
-// install_directories[3] = strdup(get_install_dir("inc"));
-// install_directories[4] = strdup(get_install_dir("src"));