aboutsummaryrefslogtreecommitdiff
path: root/src/globs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/globs.c')
-rw-r--r--src/globs.c55
1 files changed, 48 insertions, 7 deletions
diff --git a/src/globs.c b/src/globs.c
index bc4315e..61d3ea6 100644
--- a/src/globs.c
+++ b/src/globs.c
@@ -18,23 +18,65 @@
*/
+#include <stdlib.h>
#include <stdio.h>
#include "globs.h"
+
+#include "files.h"
+#include "lua_vars.h"
#include "str.h"
int is_verbose = 1;
int is_forced = 0;
-char root_config_file[20] = "/etc/pkgit/init.lua";
-char root_config_dir[15] = "/etc/pkgit";
+
+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;
+
+str bin;
+str lib;
+str include;
+str src;
void init_vars(void) {
-// char *home = getenv("HOME");
-// if (home) snprintf(home_dir, MAX_PATH_LEN, "%s", home);
-// else snprintf(home_dir, MAX_PATH_LEN, "/root");
+ 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);
+ 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);
+}
+
+// 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);
//
@@ -53,4 +95,3 @@ void init_vars(void) {
// install_directories[2] = strdup(get_install_dir("lib"));
// install_directories[3] = strdup(get_install_dir("inc"));
// install_directories[4] = strdup(get_install_dir("src"));
-}