aboutsummaryrefslogtreecommitdiffstats
path: root/lib/erl_interface/src/decode/decode_ref.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2013-02-18 15:09:00 +0100
committerSverker Eriksson <[email protected]>2013-02-18 15:20:47 +0100
commit9a35c01873fb56316136e1314ad6adffe97b9fa5 (patch)
treea67f86b77f1e08049b51e766468fb63a139d666e /lib/erl_interface/src/decode/decode_ref.c
parent499eef0cd693b2f96ec19148d2f6666c3df7d834 (diff)
downloadotp-9a35c01873fb56316136e1314ad6adffe97b9fa5.tar.gz
otp-9a35c01873fb56316136e1314ad6adffe97b9fa5.tar.bz2
otp-9a35c01873fb56316136e1314ad6adffe97b9fa5.zip
erl_interface,ic: Remove node_org_enc from erlang_{pid,port,ref}
in order to be backward compatible with user code that accesses the members of erlang_pid and friend. The documentation does not mention the content of these structs, but we have example code that does. So the safe way it the revert the node_org_enc field (added in R16A) and instead determine in runtime which atom encoding to use depending on if the node atom contains unicode (>255) characters or not.
Diffstat (limited to 'lib/erl_interface/src/decode/decode_ref.c')
-rw-r--r--lib/erl_interface/src/decode/decode_ref.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/erl_interface/src/decode/decode_ref.c b/lib/erl_interface/src/decode/decode_ref.c
index 01e3061cb4..78db118172 100644
--- a/lib/erl_interface/src/decode/decode_ref.c
+++ b/lib/erl_interface/src/decode/decode_ref.c
@@ -31,7 +31,7 @@ int ei_decode_ref(const char *buf, int *index, erlang_ref *p)
switch (get8(s)) {
case ERL_REFERENCE_EXT:
if (p) {
- if (get_atom(&s, p->node, &p->node_org_enc) < 0) return -1;
+ if (get_atom(&s, p->node, NULL) < 0) return -1;
p->n[0] = get32be(s);
p->len = 1;
p->creation = get8(s) & 0x03;
@@ -52,7 +52,7 @@ int ei_decode_ref(const char *buf, int *index, erlang_ref *p)
if (p) {
p->len = count;
- if (get_atom(&s, p->node, &p->node_org_enc) < 0) return -1;
+ if (get_atom(&s, p->node, NULL) < 0) return -1;
p->creation = get8(s) & 0x03;
}
else {