summaryrefslogtreecommitdiffstats
path: root/fkw.c
diff options
context:
space:
mode:
authorverdant <im@verdant.ee>2026-06-05 19:59:21 +0800
committerverdant <im@verdant.ee>2026-06-05 19:59:21 +0800
commite1ce29ff70940bea94db41025dd10fa102a2d8e4 (patch)
tree25ba96f64cda21bdb9b5d8dbfb4e863a1bdad92c /fkw.c
downloadfkw-e1ce29ff70940bea94db41025dd10fa102a2d8e4.tar.gz
fkw-e1ce29ff70940bea94db41025dd10fa102a2d8e4.zip
Add "add" optionHEADmaster
Diffstat (limited to 'fkw.c')
-rw-r--r--fkw.c66
1 files changed, 66 insertions, 0 deletions
diff --git a/fkw.c b/fkw.c
new file mode 100644
index 0000000..daf3b4b
--- /dev/null
+++ b/fkw.c
@@ -0,0 +1,66 @@
+#include <linux/limits.h>
+#include <stdio.h>
+#include <string.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdarg.h>
+
+void usage()
+{
+ printf("Usage: fkw <SUB_COMMAND> <FILE_PATH>\n");
+}
+
+void fwritef(FILE *fp, const char *format, ...)
+{
+ va_list args;
+ va_start(args, format);
+ vfprintf(fp, format, args);
+ va_end(args);
+}
+
+int fkw_add(const char *path, const char* keyword)
+{
+ char *home = getenv("HOME");
+ char file_path[PATH_MAX];
+
+ strcpy(file_path, home);
+ strcat(file_path, "/.fkw");
+
+ printf("%s\n", file_path);
+
+ FILE *fp = fopen(file_path, "a");
+ if (!fp) {
+ fprintf(stdout, "Cannot open file.\n");
+ return -1;
+ }
+
+
+ fwritef(fp, "%s :: %s\n", path, keyword);
+
+ fclose(fp);
+ return 0;
+}
+
+
+int main(int argc, char **argv)
+{
+
+ if (argc < 2) {
+ usage();
+ return -1;
+ }
+
+ const char *subcmd = argv[1];
+ if (strcmp(subcmd, "add") == 0) {
+ if (argc < 3) {
+ usage();
+ return -1;
+ }
+
+
+ fkw_add(argv[2], argv[3]);
+ }
+
+ return 0;
+}