Adapt for running from escript (fix 5).

This commit is contained in:
Anton Makarov
2025-09-10 15:00:29 +03:00
parent 6b9bd3745c
commit 878f6a4656

View File

@@ -88,12 +88,23 @@ init() ->
%% @private %% @private
get_priv_dir() -> get_priv_dir() ->
case code:priv_dir(esqlite) of
Dir when is_list(Dir) ->
case filelib:is_dir(Dir) of
true -> Dir;
false -> try_escript()
end;
{error, bad_name} -> "priv"
end.
%% @private
try_escript() ->
case is_escript() of case is_escript() of
{true,Escript} -> {true,Escript} ->
io:format("Escript = ~p~n", [Escript]), io:format("Escript = ~p~n", [Escript]),
Which = code:which(esqlite), PrivDir = code:priv_dir(esqlite),
io:format("Which = ~p~n", [Which]), io:format("PrivDir = ~p~n", [PrivDir]),
{Pref,Suf} = lists:split(erlang:length(Escript), Which), {Pref,Suf} = lists:split(erlang:length(Escript), PrivDir),
io:format("Pref = ~p~n", [Pref]), io:format("Pref = ~p~n", [Pref]),
io:format("Suf = ~p~n", [Suf]), io:format("Suf = ~p~n", [Suf]),
RootDir = filename:dirname(filename:dirname(Pref)), RootDir = filename:dirname(filename:dirname(Pref)),