[erlang-patches] Correct ls/1 in c.erl

Bengt Kleberg <>
Mon May 20 16:40:45 CEST 2013


I do not know why file:list_dir/1 has failed with {error, enoent}.
Or to be precise, I do not know what failure with {error, enoent} means
for the different cases I get from directories, files, links, special
files, none-existing files and the combination of read/no-read access
for these.


bengt

On Mon, 2013-05-20 at 16:36 +0200, Björn Gustavsson wrote:
> I'll try to clarify my question:
> 
> 
> 
> Why test for existence at all if
> file:list_dir/1 has already told you that the
> file exists?
> 
> 
> On Mon, May 20, 2013 at 4:22 PM, Bengt Kleberg
> <> wrote:
>         
>         
>         The filelib:is_dir/is_file/is_regular functions confuse me. I
>         am unsure
>         what they will return for directories, files, links, special
>         files,
>         none-existing files and the combination of read/no-read access
>         for
>         these.
>         
>         file:read_link_info/1 is more predictable.
>         
>         
>         bengt
>         
>         On Mon, 2013-05-20 at 15:59 +0200, Björn Gustavsson wrote:
>         > On Mon, May 20, 2013 at 1:45 PM, Bengt Kleberg
>         > <> wrote:
>         >         6> file:list_dir("nosuchfile").
>         >         {error,enotdir}
>         >
>         >         I think to use file:read_link_info/1 to establish
>         the
>         >         existence of the
>         >         file/directory.
>         >
>         > Why?
>         >
>         >
>         > If file:list_dir(Name) returns {error,enotdir}, it means
>         that
>         > there exists a file named Name (but it is not a directory).
>         >
>         >
>         > If no such file exists, the return value will be
>         {error,enoent}.
>         >
>         >
>         > In what situation would it be useful to call
>         > file:read_link_info/1?
>         >
>         >
>         >
>         > --
>         > Björn Gustavsson, Erlang/OTP, Ericsson AB
>         
>         
> 
> 
> 
> 
> -- 
> Björn Gustavsson, Erlang/OTP, Ericsson AB



More information about the erlang-patches mailing list