Skip to content

Commit

Permalink
otpbp_file: add read_file/2
Browse files Browse the repository at this point in the history
  • Loading branch information
Ledest committed Dec 9, 2023
1 parent a544173 commit b901495
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 3 deletions.
1 change: 1 addition & 0 deletions rebar.config.script
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ Funs = [{application, get_supervisor, 1},
{ets, whereis, 1},
{file, del_dir_r, 1},
{file, delete, 2},
{file, read_file, 2},
{filelib, ensure_path, 1},
{filelib, find_file, 2},
{filelib, find_file, 3},
Expand Down
33 changes: 31 additions & 2 deletions src/otpbp_file.erl
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@
% OTP 23.0
-export([del_dir_r/1]).
-endif.

-ifndef(HAVE_file__delete_2).
% OTP 24.0
-export([delete/2]).
-endif.
-ifndef(HAVE_file__read_file_2).
% OTP 27.0
-export([read_file/2]).
-endif.

-ifndef(HAVE_file__del_dir_r_1).
-include_lib("kernel/include/file.hrl").
Expand All @@ -35,12 +38,38 @@ delete(Name, Opts) when is_list(Opts) ->
Error -> Error
end.

-ifndef(NEED_check_args_2).
-define(NEED_check_args_2, true).
-endif.
-ifndef(NEED_file_name_1).
-define(NEED_file_name_1, true).
-endif.
-endif.

-ifndef(HAVE_file__read_file_2).
read_file(Name, Opts) when is_list(Opts) ->
case check_args(Opts, ok) of
ok -> file:read_file(Name);
raw -> prim_file:read_file(file_name(Name));
Error -> Error
end.

-ifndef(NEED_check_args_2).
-define(NEED_check_args_2, true).
-endif.
-ifndef(NEED_file_name_1).
-define(NEED_file_name_1, true).
-endif.
-endif.

-ifdef(NEED_check_args_2).
check_args([{error, _} = Error|_Rest], _) -> Error;
check_args([raw|Rest], _) -> check_args(Rest, raw);
check_args([_Name|Rest], R) -> check_args(Rest, R);
check_args([], R) -> R.
-endif.

-compile({inline, [file_name/1]}).
-ifdef(NEED_file_name_1).
file_name(N) when is_binary(N) -> N;
file_name(N) ->
try
Expand Down
2 changes: 1 addition & 1 deletion src/otpbp_pt.erl
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@
{{ets, lookup_element, 4}, otpbp_ets},
{{ets, whereis, 1}, otpbp_ets},
{{file, del_dir_r, 1}, otpbp_file},
{{file, delete, 2}, otpbp_file},
{{file, [delete, read_file], 2}, otpbp_file},
{{filelib, ensure_path, 1}, otpbp_filelib},
{{filelib, find_file, [2, 3]}, otpbp_filelib},
{{filelib, safe_relative_path, 2}, otpbp_filelib},
Expand Down

0 comments on commit b901495

Please sign in to comment.