#include <ixp.h>

void ixp_pstring(IxpMsg *msg, char **s);


Packs or unpacks a UTF-8 encoded string. The packed representation of the string consists of a 16-bit unsigned integer followed by the contents of the string. The unpacked representation is a nul-terminated character array.

If msg->mode is MsgPack, the string pointed to by s is packed into the buffer at msg->pos. If msg->mode is MsgUnpack, the address pointed to by s is loaded with a malloc(3) allocated, nul-terminated representation of the string packed at msg->pos. In either case, msg->pos is advanced by the number of bytes read or written. If the action would advance msg->pos beyond msg->end, msg->pos is still advanced but no other action is taken.

RELATED TO ixp_pstring…