From 5905d5be60249b2d9ca9abce4c801bc3bceed6d9 Mon Sep 17 00:00:00 2001 From: Steve Markgraf Date: Wed, 14 Nov 2012 19:36:00 +0100 Subject: msgb: fix msgb_pull_u*() msgb_pull returns a pointer to the new begin of the buffer, unlike msgb_get(), where those functions were originally taken from. Signed-off-by: Steve Markgraf --- include/osmocom/core/msgb.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index 36c7c0f9..a1939ab6 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -305,7 +305,7 @@ static inline unsigned char *msgb_pull(struct msgb *msgb, unsigned int len) */ static inline uint8_t msgb_pull_u8(struct msgb *msgb) { - uint8_t *space = msgb_pull(msgb, 1); + uint8_t *space = msgb_pull(msgb, 1) - 1; return space[0]; } /*! \brief remove uint16 from front of message @@ -314,7 +314,7 @@ static inline uint8_t msgb_pull_u8(struct msgb *msgb) */ static inline uint16_t msgb_pull_u16(struct msgb *msgb) { - uint8_t *space = msgb_pull(msgb, 2); + uint8_t *space = msgb_pull(msgb, 2) - 2; return space[0] << 8 | space[1]; } /*! \brief remove uint32 from front of message @@ -323,7 +323,7 @@ static inline uint16_t msgb_pull_u16(struct msgb *msgb) */ static inline uint32_t msgb_pull_u32(struct msgb *msgb) { - uint8_t *space = msgb_pull(msgb, 4); + uint8_t *space = msgb_pull(msgb, 4) - 4; return space[0] << 24 | space[1] << 16 | space[2] << 8 | space[3]; } -- cgit v1.2.3