aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/code_server.erl
diff options
context:
space:
mode:
authorPeter Andersson <[email protected]>2016-07-20 17:31:06 +0200
committerPeter Andersson <[email protected]>2016-09-08 00:18:48 +0200
commitc376e2a0fd5cc77ce6be99279a601e680b86a1b4 (patch)
treec9f44d852efcc6c24b2b12c7c7bbc88cf83ac53d /lib/kernel/src/code_server.erl
parent970309e0cfa8450837ace53caa13dd2301b378b6 (diff)
downloadotp-c376e2a0fd5cc77ce6be99279a601e680b86a1b4.tar.gz
otp-c376e2a0fd5cc77ce6be99279a601e680b86a1b4.tar.bz2
otp-c376e2a0fd5cc77ce6be99279a601e680b86a1b4.zip
Fix incorrect priv_dir when adding app's ebin directory to path
Diffstat (limited to 'lib/kernel/src/code_server.erl')
-rw-r--r--lib/kernel/src/code_server.erl12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl
index 48541ec500..29307bc696 100644
--- a/lib/kernel/src/code_server.erl
+++ b/lib/kernel/src/code_server.erl
@@ -811,7 +811,13 @@ clear_namedb([], _) ->
%% Dir must be a complete pathname (not only a name).
insert_dir(Dir, Db) ->
Splitted = filename:split(Dir),
- Name = get_name_from_splitted(Splitted),
+ case get_name_from_splitted(Splitted) of
+ Name when Name /= "ebin", Name /= "." ->
+ Name;
+ _ ->
+ SplittedAbsName = filename:split(absname(Dir)),
+ Name = get_name_from_splitted(SplittedAbsName)
+ end,
AppDir = filename:join(del_ebin_1(Splitted)),
do_insert_name(Name, AppDir, Db).
@@ -952,6 +958,10 @@ del_ebin_1([Parent,App,"ebin"]) ->
[Archive]
end
end;
+del_ebin_1(Path = [_App,"ebin"]) ->
+ del_ebin_1(filename:split(absname(filename:join(Path))));
+del_ebin_1(["ebin"]) ->
+ del_ebin_1(filename:split(absname("ebin")));
del_ebin_1([H|T]) ->
[H|del_ebin_1(T)];
del_ebin_1([]) ->