diff options
author | Björn Gustavsson <[email protected]> | 2010-05-22 09:43:15 +0200 |
---|---|---|
committer | Raimo Niskanen <[email protected]> | 2010-06-01 12:56:32 +0200 |
commit | 1e5e7332b58ab8f3d4396c3f5c8ad2fde976e338 (patch) | |
tree | cfbe3fac4207f289e8dad20102892ad7c516238b /erts | |
parent | 32a6d4e46ae7ef69d0dbaf23584dee69034088bb (diff) | |
download | otp-1e5e7332b58ab8f3d4396c3f5c8ad2fde976e338.tar.gz otp-1e5e7332b58ab8f3d4396c3f5c8ad2fde976e338.tar.bz2 otp-1e5e7332b58ab8f3d4396c3f5c8ad2fde976e338.zip |
Remove unsupported erlang:blocking_read_file/1
This BIF was only used by the now broken SAE support.
Diffstat (limited to 'erts')
-rw-r--r-- | erts/emulator/beam/bif.c | 48 | ||||
-rw-r--r-- | erts/emulator/beam/bif.tab | 2 |
2 files changed, 0 insertions, 50 deletions
diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c index 85bf584337..10cc2e9003 100644 --- a/erts/emulator/beam/bif.c +++ b/erts/emulator/beam/bif.c @@ -4143,54 +4143,6 @@ void erts_init_bif(void) await_proc_exit_trap = erts_export_put(am_erlang,am_await_proc_exit,3); } -BIF_RETTYPE blocking_read_file_1(BIF_ALIST_1) -{ - Eterm bin; - Eterm* hp; - byte *buff; - int i, buff_size; - FILE *file; - struct stat file_info; - char *filename = NULL; - size_t size; - - i = list_length(BIF_ARG_1); - if (i < 0) { - BIF_ERROR(BIF_P, BADARG); - } - filename = erts_alloc(ERTS_ALC_T_TMP, i + 1); - if (intlist_to_buf(BIF_ARG_1, filename, i) != i) - erl_exit(1, "%s:%d: Internal error\n", __FILE__, __LINE__); - filename[i] = '\0'; - - hp = HAlloc(BIF_P, 3); - - file = fopen(filename, "r"); - if(file == NULL){ - erts_free(ERTS_ALC_T_TMP, (void *) filename); - BIF_RET(TUPLE2(hp, am_error, am_nofile)); - } - - stat(filename, &file_info); - erts_free(ERTS_ALC_T_TMP, (void *) filename); - - buff_size = file_info.st_size; - buff = (byte *) erts_alloc_fnf(ERTS_ALC_T_TMP, buff_size); - if (!buff) { - fclose(file); - BIF_RET(TUPLE2(hp, am_error, am_allocator)); - } - size = fread(buff, 1, buff_size, file); - fclose(file); - if (size < 0) - size = 0; - else if (size > buff_size) - size = (size_t) buff_size; - bin = new_binary(BIF_P, buff, (int) size); - erts_free(ERTS_ALC_T_TMP, (void *) buff); - - BIF_RET(TUPLE2(hp, am_ok, bin)); -} #ifdef HARDDEBUG /* You'll need this line in bif.tab to be able to use this debug bif diff --git a/erts/emulator/beam/bif.tab b/erts/emulator/beam/bif.tab index 9feb302a3d..38e2dd77d3 100644 --- a/erts/emulator/beam/bif.tab +++ b/erts/emulator/beam/bif.tab @@ -686,8 +686,6 @@ bif 'erl.system.code':make_stub_module/3 ebif_code_make_stub_module_3 bif code:is_module_native/1 bif 'erl.system.code':is_native/1 ebif_code_is_native_1 code_is_module_native_1 -bif erlang:blocking_read_file/1 - # # New Bifs in R9C. # |