From 7768ac22e0ccabae248227c65a14d6387ab71fe4 Mon Sep 17 00:00:00 2001 From: Sergey Yelin Date: Mon, 18 Jul 2011 16:04:06 +0400 Subject: [PATCH] Fix statrt for cases when application not running. --- src/bdberl.erl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/bdberl.erl b/src/bdberl.erl index 23227bb..70e766c 100644 --- a/src/bdberl.erl +++ b/src/bdberl.erl @@ -2106,7 +2106,7 @@ stop() -> %% ==================================================================== init() -> - case erl_ddll:load_driver(code:priv_dir(bdberl), bdberl_drv) of + case erl_ddll:load_driver(priv_dir(), bdberl_drv) of ok -> ok; {error, permanent} -> ok % Means that the driver is already active end, @@ -2125,6 +2125,15 @@ init() -> erlang:put(bdb_port, Port), Port. +priv_dir() -> + case code:priv_dir(?MODULE) of + Name when is_list(Name) -> + Name; + {error, bad_name} -> + {ok, Cwd} = file:get_cwd(), + filename:absname(filename:join(Cwd, "../priv")) + end. + get_port() -> case erlang:get(bdb_port) of undefined -> init();