diff options
author | Sverker Eriksson <[email protected]> | 2019-04-17 19:09:57 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2019-04-17 19:09:57 +0200 |
commit | 236cb4b5eb3b89c837324a5ae7a11117d671d717 (patch) | |
tree | 41a090786155ab22d5c7a883c275c59d059a4ea0 /lib/erl_interface/src/misc/show_msg.c | |
parent | dbe9bbfb801bcd92cc54c73ce96203b3a04c5517 (diff) | |
parent | 6a0deeae54ee18aa2028e994c33d633bb41021ed (diff) | |
download | otp-236cb4b5eb3b89c837324a5ae7a11117d671d717.tar.gz otp-236cb4b5eb3b89c837324a5ae7a11117d671d717.tar.bz2 otp-236cb4b5eb3b89c837324a5ae7a11117d671d717.zip |
Merge branch 'sverker/bit-binary-ext/OTP-15712'
* sverker/bit-binary-ext/OTP-15712:
jinterface: Add dist flag for export funs
erl_interface: Add bitstring and export fun support
erl_interface: Remove old r9 pid and port compatibility
erl_interface: Refactor ei_decode_SUITE
erl_interface: Fix maps arity from ei_get_type()
erl_interface: Remove ei_get_type_internal()
erl_interface: Deprecate ei_encode_term and ei_decode_term
Diffstat (limited to 'lib/erl_interface/src/misc/show_msg.c')
-rw-r--r-- | lib/erl_interface/src/misc/show_msg.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/erl_interface/src/misc/show_msg.c b/lib/erl_interface/src/misc/show_msg.c index 5868cccba6..2d49eb6449 100644 --- a/lib/erl_interface/src/misc/show_msg.c +++ b/lib/erl_interface/src/misc/show_msg.c @@ -24,6 +24,13 @@ #include <stdlib.h> #include <stdarg.h> #include <string.h> +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif + +#ifndef SIZE_MAX +# define SIZE_MAX (~((size_t)0)) +#endif #include <sys/types.h> @@ -342,7 +349,7 @@ static void show_term(const char *termbuf, int *index, FILE *stream) int i, len; char *s; - ei_get_type_internal(termbuf,index,&type,&len); + ei_get_type(termbuf,index,&type,&len); switch (type) { case ERL_VERSION_MAGIC: @@ -455,6 +462,12 @@ static void show_term(const char *termbuf, int *index, FILE *stream) fprintf(stream,"#Bin<%ld>",num); break; + case ERL_BIT_BINARY_EXT: { + size_t bits; + ei_decode_bitstring(termbuf, index, NULL, SIZE_MAX, &bits); + fprintf(stream, "#Bits<%lu>", (unsigned long)bits); + break; + } case ERL_LARGE_BIG_EXT: /* doesn't actually decode - just skip over it */ /* FIXME if GMP, what to do here?? */ |