msgpullup() concatenates and aligns the first len data bytes of the message pointed to by mp, copying the data into a new message.
Any remaining bytes in the remaining message blocks will be copied and linked onto the new message. The original message is unaltered. If len equals -1, all
data are concatenated. If len bytes of the same message type cannot be found, msgpullup() fails and returns NULL.
msgpullup() is a DKI-compliant replacement for the older pullupmsg(9F) routine. Users are strongly encouraged to use msgpullup() instead of pullupmsg(9F).