#include <stdio.h>
#include <string.h>
#define KOPIPE_FOLDER "/home/cairnarvon/.kopipe/"
int main (int argc, char** argv) {
if (argc > 2 && strcmp(argv[1], "-n") == 0) {
/* Read kopipe from stdin and append to specified file. */
FILE *fp;
char folder[80];
strcpy(folder, KOPIPE_FOLDER);
fp = fopen(strncat(folder, argv[2], 50), "a");
char c;
c = getchar();
while (c != EOF) {
fputc(c, fp);
c = getchar();
}
fclose(fp);
return 0;
} else if (argc > 2 && strcmp(argv[1], "-d") == 0) {
/* Delete specified file */
char cmd[83];
strcpy(cmd, "rm ");
strcat(cmd, KOPIPE_FOLDER);
system(strncat(cmd, argv[2], 50));
printf("Deleted kopipe %s.\n", argv[2]);
return 0;
} else if (argc > 1) {
/* Try to read specified file, and print it to stdout */
FILE *fp;
char folder[80];
strcpy(folder, KOPIPE_FOLDER);
fp = fopen(strncat(folder, argv[1], 50), "r");
if (fp != NULL) {
char c;
c = fgetc(fp);
while (c != EOF) {
printf("%c", c);
c = fgetc(fp);
}
fclose(fp);
return 0;
}
}
printf("%s%s%s%s%s%s%s%s%s",
"USAGE:\n",
argv[0],
" [name]\n\tDisplay kopipe\n",
"echo \"[kopipe]\" | ",
argv[0],
" -n [name]\n\tCreate new kopipe\n",
argv[0],
" -d [name]\n\tDelete existing kopipe\n\n",
"Current kopipe:\n");
char lst[100];
strcpy(lst, "ls ");
strcat(lst, KOPIPE_FOLDER);
strcat(lst, " 2>/dev/null || mkdir ");
strcat(lst, KOPIPE_FOLDER);
system(lst);
return 1;
}