aboutsummaryrefslogtreecommitdiffstats
path: root/src/actions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/actions.c')
-rw-r--r--src/actions.c115
1 files changed, 115 insertions, 0 deletions
diff --git a/src/actions.c b/src/actions.c
new file mode 100644
index 0000000..9840722
--- /dev/null
+++ b/src/actions.c
@@ -0,0 +1,115 @@
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include "actions.h"
+#include "dblayer.h"
+
+int init_create_config_file(UserOpt *opt) {
+ struct stat st = {0};
+ if (stat("/home/gramanas/.ck", &st) == -1) {
+ mkdir("/home/gramanas/.ck", 0755);
+ }
+
+ FILE *f;
+ if ((f = fopen("/home/gramanas/.ck/ckrc", "w")) == NULL) {
+ return 1;
+ }
+ char tmp[200];
+ if (stat(opt->argv[0], &st) == -1) {
+ printf("Version control directory: %s\ndoes not exist.\n", opt->argv[0]);
+ return 1;
+ }
+ strcpy(tmp, "version_control_dir = ");
+ strcat(tmp, opt->argv[0]);
+ strcat(tmp, "\n");
+ fputs(tmp, f);
+ if (stat(opt->argv[1], &st) == -1) {
+ printf("Secret directory: %s\ndoes not exist.\n", opt->argv[1]);
+ return 1;
+ }
+ strcpy(tmp, "secret_dir = ");
+ strcat(tmp, opt->argv[1]);
+ strcat(tmp, "\n");
+ fputs(tmp, f);
+ fclose(f);
+ return 0;
+}
+
+int run_INIT(UserOpt * opt, Conf *conf) {
+ if (db_exists()) {
+ printf("ck is already initialized.\n");
+ return 0;
+ }
+ if (init_create_config_file(opt)) {
+ return 0;
+ }
+ DB db = init_make_DB();
+ if (db.error == SQL_NO_ERR) {
+ init_make_tables(&db);
+ }
+ sqlite3_close(db.get);
+ return 1;
+}
+
+int run_ADD(UserOpt * opt, Conf *conf) {
+ if (!db_exists()) {
+ printf("ck is not initialized.\nRun ck init first.");
+ return 0;
+ }
+ printf("Running %s\n", "add");
+ DB db = open_DB();
+ if (db.get == NULL) {
+ if (db.error == SQL_ERR_NO_TABLES) {
+ printf("no tables\n");
+ }
+ }
+ return 0;
+}
+
+int run_DEL(UserOpt * opt, Conf *conf) {
+ if (!db_exists()) {
+ printf("ck is not initialized.\nRun ck init first.");
+ return 0;
+ }
+ printf("Running %s\n", "del");
+ return 0;
+}
+
+int run_EDIT(UserOpt * opt, Conf *conf) {
+ if (!db_exists()) {
+ printf("ck is not initialized.\nRun ck init first.");
+ return 0;
+ }
+ printf("Running %s\n", "edit");
+ return 0;
+}
+
+int run_LIST(UserOpt * opt, Conf *conf) {
+ if (!db_exists()) {
+ printf("ck is not initialized.\nRun ck init first.");
+ return 0;
+ }
+ printf("Running %s\n", "list");
+ return 0;
+}
+
+int run_SEARCH(UserOpt * opt, Conf *conf) {
+ if (!db_exists()) {
+ printf("ck is not initialized.\nRun ck init first.");
+ return 0;
+ }
+ printf("Running %s\n", "search");
+ return 0;
+}
+
+int run_HELP(UserOpt * opt, Conf *conf) {
+ if (!db_exists()) {
+ printf("ck is not initialized.\nRun ck init first.");
+ return 0;
+ }
+ printf("Running %s\n", "help");
+ return 0;
+}