char* _read_string_len(char **pptr, int *len) { char* string = NULL; *len = _read_int(pptr); string = zmalloc(*len+1); memcpy(string, *pptr, *len); string[*len] = '\0'; *pptr += *len; return string; }
static int _read_opaque(struct iovec *iov, u_char **buf, int *len) { if (_read_int(iov, len) < 0 || *len < 0) return (-1); iov->iov_len -= *len; if (iov->iov_len < 0) return (-1); *buf = iov->iov_base; iov->iov_base += *len; return (0); }