code:priv_dir()

Ulf Wiger <>
Wed Dec 5 13:01:50 CET 2001



The code server keeps an ets table updated with the whereabouts
of ebin, priv, and similar directories via their parent
directory.


1> file:make_dir("tmp").
ok
2> file:make_dir("tmp/cnh2").
ok
3> file:make_dir("tmp/cnh2/priv").
ok
4> file:make_dir("tmp/cnh2/ebin").
ok
5> code:add_path("tmp/cnh2/ebin").
true
6> code:priv_dir(cnh2).
"tmp/cnh2/priv"


You can also use code:add_path("tmp/cnh2"), but it's probably
more natural to point the code server to where the actual code
resides. Either way, the directory that will be logged in the
code server table (code_names, which is private and can't be
inspected) is "tmp/cnh2".

/Uffe


On Wed, 5 Dec 2001, Bengt Kleberg wrote:

>Greetings,
>
>Is there somebody that can expalain why the following code prints:
>"{error, bad_name}"
>
>Reading the man page I would have expected
>"tmp/cnh2/priv"
>
>
>bengt
>
>-module(priv_dir).
>
>
>-export([main/0]).
>
>
>main( ) ->
>	% ignore status, directories may already exist
>	file:make_dir("tmp"),
>	file:make_dir("tmp/cnh2"),
>	file:make_dir("tmp/cnh2/priv"),
>	% verify existance
>	{ok, _} = file:list_dir("tmp/cnh2/priv"),
>	true = code:add_patha("tmp"),
>	io:format( "~w~n", [code:priv_dir("cnh2")] ).
>
>

-- 
Ulf Wiger, Senior Specialist,
   / / /   Architecture & Design of Carrier-Class Software
  / / /    Strategic Product & System Management
 / / /     Ericsson Telecom AB, ATM Multiservice Networks




More information about the erlang-questions mailing list