diff options
Diffstat (limited to 'fkw.c')
| -rw-r--r-- | fkw.c | 66 |
1 files changed, 66 insertions, 0 deletions
@@ -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; +} |
