From e6dca775a923fa76d62b3ea420fd8b7bae3c420b Mon Sep 17 00:00:00 2001 From: Chip Black Date: Thu, 2 Jan 2014 04:09:41 -0600 Subject: [PATCH] add blerg_init to blerg.a consumers --- cgi/cgi_blerg.c | 3 +++ lib/perl/Blerg-Database/Database.xs | 6 ++++++ lib/perl/Blerg-Database/lib/Blerg/Database.pm | 4 ++++ lib/perl/Blerg-Database/t/auth.t | 4 ++++ lib/perl/Blerg-Database/t/database.t | 6 +++++- lib/perl/Blerg-Database/t/subscription.t | 4 ++++ tools/blerglatest.c | 3 +++ tools/blergtool.c | 4 ++++ 8 files changed, 33 insertions(+), 1 deletion(-) diff --git a/cgi/cgi_blerg.c b/cgi/cgi_blerg.c index 7e5c7df..373c353 100644 --- 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 index 3d18898..1911538 100644 --- 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 index 91d6ace..0101a9d 100644 --- 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 index 2762480..e932cc4 100644 --- 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 index 6faed8e..203d286 100644 --- 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 index 96fa074..edede10 100644 --- 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 index 1fe133d..cedab2d 100644 --- 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 index 35af915..968081a 100644 --- 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); -- 2.25.1