From 37623394d364b55aa8f949fd8aa51edf65d9da10 Mon Sep 17 00:00:00 2001 From: Anastasis Grammenos Date: Tue, 16 Oct 2018 23:39:34 +0300 Subject: move init helper to the helper file --- src/actionhelper.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/actionhelper.c') diff --git a/src/actionhelper.c b/src/actionhelper.c index 75cc03f..14e8782 100644 --- a/src/actionhelper.c +++ b/src/actionhelper.c @@ -11,6 +11,7 @@ #include #include "actionhelper.h" +#include "confparser.h" #include "ckerrlog.h" ERRLOG(action); @@ -155,6 +156,45 @@ void edit_print_suggested_configs(DB *db, const char *pName) { list_free(paths); } +int init_create_config_file(UserOpt *opt) { + char absVCdir[STR_L]; + if (!util_file_exists(list_get_at(opt->args, 0), absVCdir)) { + ERR("Version control directory: %s does not exist.", list_get_at(opt->args, 0)); + return 1; + } + + char absSRdir[STR_L]; + if (!util_file_exists(list_get_at(opt->args, 1), absSRdir)) { + ERR("Secret directory: %s does not exist.", list_get_at(opt->args, 1)); + return 1; + } + + if (!util_file_exists(opt->confDir, NULL)) { + util_mkdir(opt->confDir); + } + + char confName[STR_L]; + make_config_name(confName, opt->confDir); + FILE *f; + if ((f = fopen(confName, "w")) == NULL) { + return 1; + } + + char tmp[200]; + strcpy(tmp, "version_control_dir = "); + strcat(tmp, absVCdir); + strcat(tmp, "\n"); + fputs(tmp, f); + + strcpy(tmp, "secret_dir = "); + strcat(tmp, absSRdir); + strcat(tmp, "\n"); + fputs(tmp, f); + + fclose(f); + return 0; +} + ListOpt list_make_options(cklist *args) { list_rewind(args); ListOpt listOpt = { -- cgit v1.2.3