X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=database%2Fdatabase.c;h=e0c9eb72ad35eff6968b5fdbef58f2dbf55d094a;hb=refs%2Ftags%2Fv1.9;hp=91e6aa22f9b0e9e4c04c0e4b5968f5deb9b71f45;hpb=0647b76522be38edfe4b1fbae32addbbf8bb4128;p=blerg.git diff --git a/database/database.c b/database/database.c index 91e6aa2..e0c9eb7 100644 --- a/database/database.c +++ b/database/database.c @@ -15,6 +15,7 @@ #include "database.h" #include "configuration.h" #include "subscription.h" +#include "tags.h" #include "util.h" #include "config.h" @@ -79,7 +80,7 @@ int blerg_remap_data(struct blerg *blerg) { } int blerg_segment_switch(struct blerg *blerg, int new_segment) { - char filename[512]; + char filename[FILENAME_MAX]; uint64_t max_sequence_no = blerg_get_record_count(blerg); struct stat st; @@ -99,7 +100,7 @@ int blerg_segment_switch(struct blerg *blerg, int new_segment) { blerg_segment_close(blerg); /* Load and map the index */ - snprintf(filename, 512, "%s/index%d", blerg->base_path, new_segment); + snprintf(filename, FILENAME_MAX, "%s/index%d", blerg->base_path, new_segment); blerg->index_fd = open(filename, O_RDWR | O_CREAT, 0600); if (blerg->index_fd == -1) { perror("Could not open index"); @@ -122,7 +123,7 @@ int blerg_segment_switch(struct blerg *blerg, int new_segment) { } /* Load data file */ - sprintf(filename, "%s/data%d", blerg->base_path, new_segment); + snprintf(filename, FILENAME_MAX, "%s/data%d", blerg->base_path, new_segment); blerg->data_fd = open(filename, O_RDWR | O_APPEND | O_CREAT, 0600); if (blerg->data_fd == -1) { perror("Could not open data"); @@ -148,15 +149,14 @@ open_failed_index_open: } int blerg_exists(const char *name) { - int namelen = strlen(name); - char filename[512]; + char filename[FILENAME_MAX]; if (!valid_name(name)) { fprintf(stderr, "Invalid name\n"); return 0; } - snprintf(filename, 512, "%s/%s", DATA_PATH, name); + snprintf(filename, FILENAME_MAX, "%s/%s", blergconf.data_path, name); if (access(filename, F_OK) == -1) return 0; else @@ -165,7 +165,7 @@ int blerg_exists(const char *name) { struct blerg *blerg_open(const char *name) { int namelen = strlen(name); - char filename[512]; + char filename[FILENAME_MAX]; struct stat st; uint64_t sequence; @@ -186,13 +186,13 @@ struct blerg *blerg_open(const char *name) { blerg->data = NULL; /* Make the directory if it doesn't exist */ - blerg->base_path = malloc(512); - snprintf(blerg->base_path, 512, "%s/%s", DATA_PATH, name); + blerg->base_path = malloc(FILENAME_MAX); + snprintf(blerg->base_path, FILENAME_MAX, "%s/%s", blergconf.data_path, name); if (access(blerg->base_path, F_OK) == -1) mkdir(blerg->base_path, 0755); /* Open and map metadata */ - snprintf(filename, 512, "%s/meta", blerg->base_path); + snprintf(filename, FILENAME_MAX, "%s/meta", blerg->base_path); blerg->meta_fd = open(filename, O_RDWR | O_CREAT, 0600); if (blerg->meta_fd == -1) { perror("Could not open metadata");