]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - blob.c
Merge branch 'master' into next
[paraslash.git] / blob.c
diff --git a/blob.c b/blob.c
index 38e5cb54df04ad3a0600ac893e108a71446eb6da..f0133c3b5d53b7c916f1662b158ac5073a74af8f 100644 (file)
--- a/blob.c
+++ b/blob.c
@@ -6,6 +6,7 @@
 
 /** \file blob.c Macros and functions for blob handling. */
 
+#include <regex.h>
 #include <fnmatch.h>
 #include <openssl/rc4.h>
 #include <osl.h>
@@ -63,6 +64,24 @@ static struct osl_column_description blob_cols[] = {
        }
 };
 
+/** Define an osl table description for a blob table. */
+#define DEFINE_BLOB_TABLE_DESC(table_name) \
+       struct osl_table_description table_name ## _table_desc = { \
+               .name = #table_name, \
+               .num_columns = NUM_BLOB_COLUMNS, \
+               .flags = OSL_LARGE_TABLE, \
+               .column_descriptions = blob_cols \
+       };
+
+/** Define a pointer to an osl blob table with a canonical name. */
+#define DEFINE_BLOB_TABLE_PTR(table_name) struct osl_table *table_name ## _table;
+
+
+/** Define a blob table. */
+#define INIT_BLOB_TABLE(table_name) \
+       DEFINE_BLOB_TABLE_DESC(table_name); \
+       DEFINE_BLOB_TABLE_PTR(table_name);
+
 /** \cond doxygen isn't smart enough to recognize these */
 INIT_BLOB_TABLE(lyrics);
 INIT_BLOB_TABLE(images);
@@ -621,7 +640,6 @@ static int blob_open(struct osl_table **table,
 #define DEFINE_BLOB_INIT(table_name) \
        void table_name ## _init(struct afs_table *t) \
        { \
-               t->name = table_name ## _table_desc.name; \
                t->open = table_name ## _open; \
                t->close = table_name ## _close; \
                t->create = table_name ## _create;\