erl_print_term()
and erl_copy_term()
could not
previously handle uints. This bug has now been fixed.ei_x_format()
was not working correctly for floating
point arguments on some platforms. This is now corrected.
erl_compare_ext()
did not compare the node parts of
pids, ports, and references. This has now been fixed.
Comparison between two pids, ports, or references does now
conform to the Erlang specification.
int ei_decode_longlong(const char *buf, int *index, EI_LONGLONG *p); int ei_decode_ulonglong(const char *buf, int *index, EI_ULONGLONG *p); int ei_encode_longlong(char *buf, int *index, EI_LONGLONG p); int ei_encode_ulonglong(char *buf, int *index, EI_ULONGLONG p); int ei_x_encode_longlong(ei_x_buff* x, EI_LONGLONG n); int ei_x_encode_ulonglong(ei_x_buff* x, EI_ULONGLONG n);Own Id: OTP-4772
int ei_decode_bignum(const char *buf, int *index, mpz_t obj); int ei_encode_bignum(char *buf, int *index, mpz_t obj); int ei_x_encode_bignum(ei_x_buff *x, mpz_t obj);Own Id: OTP-4772
ei
is now documented and supported. The old
erl_interface
is considered obsolete, and provided
only for backward compatibility.ei
; these are documented in
ei_connect
.ei
.
erl_send()
and
erl_reg_send()
to 1 (as they used to be).
Incompatible with plain R7, compatible with previous
versions.erl_errno
is accessed. On Pthreads plattforms
the use of erl_errno
no longer crashes programs
using multithreading.
erl_errno
has been
introduced.
erl_encode()
. This has been corrected.
erl_interface
, a function erl_mk_long_ref
has been added, and macros ERL_REF_NUMBERS
and
ERL_REF_LEN
.erl_receive_msg
has the problem that
a fixed buffer must be given - a larger message than
expected is simply discarded. A function
erl_xreceive_msg
has been introduced, which
dynamically resizes the buffer given to it, if needed.
#ifdef __cplusplus extern C {
is added to all the
erl*.h
and ei*.h
files in order to support
use from C++.-fPIC
option to make it possible to include
them in a shared library.
erl_connect()
was causing
C-node crashes on Linux.erl_accept()
was not handshaking properly with
Erlang, causing incoming connection attempts to fail.erl_connect_init()
no longer
makes erroneous reference to the remote node.
$(OTPROOT)/usr/
. The include
and lib
directories are now located in the directory
$(OTPROOT)/lib/erl_interface-3.1
(i.e.
the directory name is now version specific).