-
Notifications
You must be signed in to change notification settings - Fork 4
/
erlgeoip.erl
31 lines (26 loc) · 823 Bytes
/
erlgeoip.erl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
-module(erlgeoip).
-export([
init/0,
lookup/1,
normalize_city/1
]).
-on_load(init/0).
-spec init() -> ok.
init() ->
PrivDir = case code:priv_dir(?MODULE) of
{error, _} ->
EbinDir = filename:dirname(code:which(?MODULE)),
AppPath = filename:dirname(EbinDir),
filename:join(AppPath, "priv");
Dir -> Dir
end,
SoName = filename:join(PrivDir, "geoip_nif"),
case catch erlang:load_nif(SoName,[]) of
ok -> ok;
LoadError -> error_logger:error_msg("erlgeoip: error loading NIF (~p): ~p",
[SoName, LoadError])
end.
lookup(_Ip) ->
{error, geoip_nif_not_loaded}.
normalize_city(_City) ->
{error, geoip_nif_not_loaded}.