aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2014-03-10 20:21:08 +0100
committerSverker Eriksson <[email protected]>2014-03-10 20:21:08 +0100
commite5f5346c5c6d7cd7f5c68b523970c542bccd9aff (patch)
tree0c86b49acac8352e32753f7f3655337db2a99576
parentdbdf33a57b8e92fc9a45029ed3fef0f70c852909 (diff)
downloadotp-e5f5346c5c6d7cd7f5c68b523970c542bccd9aff.tar.gz
otp-e5f5346c5c6d7cd7f5c68b523970c542bccd9aff.tar.bz2
otp-e5f5346c5c6d7cd7f5c68b523970c542bccd9aff.zip
erl_interface: Add map support in ei_skip_term
-rw-r--r--lib/erl_interface/src/decode/decode_skip.c10
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;