commit:e6dca775a923fa76d62b3ea420fd8b7bae3c420b
author:Chip Black
committer:Chip Black
date:Thu Jan 2 04:09:41 2014 -0600
parents:2fcafab51ecdf038e949cdf62a22cddcdecc95e1
add blerg_init to blerg.a consumers
diff --git a/cgi/cgi_blerg.c b/cgi/cgi_blerg.c
line changes: +3/-0
index 7e5c7df..373c353
--- a/cgi/cgi_blerg.c
+++ b/cgi/cgi_blerg.c
@@ -100,6 +100,9 @@ int main(int argc, char *argv[]) {
 	struct url_info info;
 	char *data;
 
+	if (!blerg_init())
+		exit(1);
+
 	if (cgi_init() != CGIERR_NONE)
 		exit(0);
 

diff --git a/lib/perl/Blerg-Database/Database.xs b/lib/perl/Blerg-Database/Database.xs
line changes: +6/-0
index 3d18898..1911538
--- a/lib/perl/Blerg-Database/Database.xs
+++ b/lib/perl/Blerg-Database/Database.xs
@@ -32,6 +32,12 @@ MODULE = Blerg::Database		PACKAGE = Blerg::Database
 INCLUDE: const-xs.inc
 PROTOTYPES: ENABLE
 
+int init()
+    CODE:
+        RETVAL = blerg_init();
+    OUTPUT:
+        RETVAL
+
 int exists(const char *name)
     CODE:
         RETVAL = blerg_exists(name);

diff --git a/lib/perl/Blerg-Database/lib/Blerg/Database.pm b/lib/perl/Blerg-Database/lib/Blerg/Database.pm
line changes: +4/-0
index 91d6ace..0101a9d
--- a/lib/perl/Blerg-Database/lib/Blerg/Database.pm
+++ b/lib/perl/Blerg-Database/lib/Blerg/Database.pm
@@ -57,6 +57,10 @@ XSLoader::load('Blerg::Database', $VERSION);
 
 # Preloaded methods go here.
 
+if (!Blerg::Database::init()) {
+    die "Could not initialize C library";
+}
+
 sub open {
     my ($class, $name) = @_;
     my $ptr = Blerg::Database::_open($name);

diff --git a/lib/perl/Blerg-Database/t/auth.t b/lib/perl/Blerg-Database/t/auth.t
line changes: +4/-0
index 2762480..e932cc4
--- a/lib/perl/Blerg-Database/t/auth.t
+++ b/lib/perl/Blerg-Database/t/auth.t
@@ -13,6 +13,10 @@ chdir $test_dir;
 mkdir 'data';
 mkdir 'hash_tags';
 mkdir 'ref_tags';
+
+$ENV{BLERG_PATH} = $test_dir;
+Blerg::Database::init();
+
 my ($ptr, $password, $n);
 $password = 'blargh';
 $n = 0;

diff --git a/lib/perl/Blerg-Database/t/database.t b/lib/perl/Blerg-Database/t/database.t
line changes: +5/-1
index 6faed8e..203d286
--- a/lib/perl/Blerg-Database/t/database.t
+++ b/lib/perl/Blerg-Database/t/database.t
@@ -9,7 +9,7 @@ use File::Path qw/remove_tree/;
 use strict;
 use warnings;
 
-use Test::More tests => 25;
+use Test::More tests => 26;
 BEGIN { use_ok('Blerg::Database') };
 
 #########################
@@ -25,6 +25,10 @@ chdir $test_dir;
 mkdir 'data';
 mkdir 'hash_tags';
 mkdir 'ref_tags';
+
+$ENV{BLERG_PATH} = $test_dir;
+ok( Blerg::Database::init() );
+
 my ($ptr, @list, $n);
 $n = 0;
 

diff --git a/lib/perl/Blerg-Database/t/subscription.t b/lib/perl/Blerg-Database/t/subscription.t
line changes: +4/-0
index 96fa074..edede10
--- a/lib/perl/Blerg-Database/t/subscription.t
+++ b/lib/perl/Blerg-Database/t/subscription.t
@@ -12,6 +12,10 @@ chdir $test_dir;
 mkdir 'data';
 mkdir 'hash_tags';
 mkdir 'ref_tags';
+
+$ENV{BLERG_PATH} = $test_dir;
+Blerg::Database::init();
+
 my ($ptra, $ptrb, @list);
 
 ### Subscription

diff --git a/tools/blerglatest.c b/tools/blerglatest.c
line changes: +3/-0
index 1fe133d..cedab2d
--- a/tools/blerglatest.c
+++ b/tools/blerglatest.c
@@ -139,6 +139,9 @@ int main(int argc, char *argv[]) {
 	const unsigned char *buf;
 	unsigned int len;
 
+	if (!blerg_init())
+		exit(1);
+
 	yajl_gen g = yajl_gen_alloc(&yajl_config, NULL);
 
 	yajl_gen_map_open(g);

diff --git a/tools/blergtool.c b/tools/blergtool.c
line changes: +4/-0
index 35af915..968081a
--- a/tools/blergtool.c
+++ b/tools/blergtool.c
@@ -27,6 +27,10 @@ int main(int argc, char *argv[]) {
 		exit(1);
 	}
 
+	if (!blerg_init()) {
+		exit(2);
+	}
+
 	if (strncmp(argv[1], "store", 5) == 0) {
 		char *store = argv[2];
 		struct blerg *f = blerg_open(store);