39 lines
826 B
C
39 lines
826 B
C
// functions to deal with the journal file
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <sys/stat.h>
|
|
#include <string.h>
|
|
|
|
FILE *journal_open(char *topic)
|
|
{
|
|
char *home_path = getenv("HOME");
|
|
|
|
// combine w/ home path
|
|
char *journal_dir = (char*)malloc(1024);
|
|
snprintf(journal_dir, 1024, "%s/.lunabot", home_path);
|
|
|
|
// construct a 744
|
|
mkdir(journal_dir, S_IRWXU | S_IRGRP | S_IROTH);
|
|
|
|
char *journal_path = (char*)malloc(1024);
|
|
snprintf(journal_path, 1024, "%s/%s", journal_dir, topic);
|
|
|
|
FILE* res = fopen(journal_path, "a");
|
|
|
|
free(journal_path);
|
|
free(journal_dir);
|
|
|
|
return res;
|
|
}
|
|
|
|
void journal_write(FILE* journal_fd, char* message)
|
|
{
|
|
// TODO: strlen()?
|
|
fwrite(message, strlen(message), 1, journal_fd);
|
|
}
|
|
|
|
void journal_close(FILE* journal_fd)
|
|
{
|
|
fclose(journal_fd);
|
|
}
|