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 <steve@steve-m.de>
diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h
index 36c7c0f..a1939ab 100644
--- a/include/osmocom/core/msgb.h
+++ b/include/osmocom/core/msgb.h
@@ -305,7 +305,7 @@
  */
 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 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 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];
 }