diff options
author | Sverker Eriksson <[email protected]> | 2014-03-10 20:21:08 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2014-03-10 20:21:08 +0100 |
commit | e5f5346c5c6d7cd7f5c68b523970c542bccd9aff (patch) | |
tree | 0c86b49acac8352e32753f7f3655337db2a99576 /lib | |
parent | dbdf33a57b8e92fc9a45029ed3fef0f70c852909 (diff) | |
download | otp-e5f5346c5c6d7cd7f5c68b523970c542bccd9aff.tar.gz otp-e5f5346c5c6d7cd7f5c68b523970c542bccd9aff.tar.bz2 otp-e5f5346c5c6d7cd7f5c68b523970c542bccd9aff.zip |
erl_interface: Add map support in ei_skip_term
Diffstat (limited to 'lib')
-rw-r--r-- | lib/erl_interface/src/decode/decode_skip.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/erl_interface/src/decode/decode_skip.c b/lib/erl_interface/src/decode/decode_skip.c index 553266471c..2260394da1 100644 --- a/lib/erl_interface/src/decode/decode_skip.c +++ b/lib/erl_interface/src/decode/decode_skip.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2002-2013. All Rights Reserved. + * Copyright Ericsson AB 2002-2014. All Rights Reserved. * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in @@ -61,7 +61,13 @@ int ei_skip_term(const char* buf, int* index) break; case ERL_SMALL_TUPLE_EXT: case ERL_LARGE_TUPLE_EXT: - if (ei_decode_tuple_header(buf, index, &n) < 0) return -1; + if (ei_decode_tuple_header(buf, index, &n) < 0) return -1; + for (i = 0; i < n; ++i) + ei_skip_term(buf, index); + break; + case ERL_MAP_EXT: + if (ei_decode_map_header(buf, index, &n) < 0) return -1; + n *= 2; for (i = 0; i < n; ++i) ei_skip_term(buf, index); break; |