diff options
author | Lukas Larsson <[email protected]> | 2013-08-21 15:25:05 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2013-08-21 15:25:05 +0200 |
commit | 58b4fdbe984759e1d679a4c194fe9ac26616357b (patch) | |
tree | 7219a01ffe77233dcc02c26a3d8f9786018b6c66 /erts | |
parent | 420fe40a688f88cbcd6c716cc01a5f87908bc5ee (diff) | |
parent | 3b1d9f46c187ecdad3930c52fa4fbe4d547277c8 (diff) | |
download | otp-58b4fdbe984759e1d679a4c194fe9ac26616357b.tar.gz otp-58b4fdbe984759e1d679a4c194fe9ac26616357b.tar.bz2 otp-58b4fdbe984759e1d679a4c194fe9ac26616357b.zip |
Merge branch 'lukas/erts/efile_undef_behaviour/OTP-11246' into maint
* lukas/erts/efile_undef_behaviour/OTP-11246:
erts: Fix bug in translating ev macros to functions
Diffstat (limited to 'erts')
-rw-r--r-- | erts/emulator/drivers/common/efile_drv.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/erts/emulator/drivers/common/efile_drv.c b/erts/emulator/drivers/common/efile_drv.c index edcb56de1d..9e95325c24 100644 --- a/erts/emulator/drivers/common/efile_drv.c +++ b/erts/emulator/drivers/common/efile_drv.c @@ -553,8 +553,10 @@ efile_ev_get_char(ErlIOVec *ev, char *p, int *pp, int *qp) { *(p) = *EV_CHAR_P(ev, *(pp), *(qp)); if (*(pp)+1 < (ev)->iov[*(qp)].iov_len) *(pp) = *(pp)+1; - else + else { (*(qp))++; + *pp = 0; + } return !0; } return 0; @@ -575,8 +577,10 @@ efile_ev_get_uint32(ErlIOVec *ev, Uint32 *p, int *pp, int *qp) { | (EV_UINT32(ev, *(pp)+3, *(qp))); if (*(pp)+4 < (ev)->iov[*(qp)].iov_len) *(pp) = *(pp)+4; - else + else { (*(qp))++; + *pp = 0; + } return !0; } return 0; @@ -601,8 +605,10 @@ efile_ev_get_uint64(ErlIOVec *ev, Uint64 *p, int *pp, int *qp) { | (EV_UINT64(ev, *(pp)+7, *(qp))); if (*(pp)+8 < (ev)->iov[*(qp)].iov_len) *(pp) = *(pp)+8; - else + else { (*(qp))++; + *pp = 0; + } return !0; } return 0; |