196 for (current = Head; current; current=current->Next)
199 size += current->Size;
200 size += (4 - (size & 3)) & 3;
207 char *retval =
new char[size];
208 char *curbuf = retval;
213 *((
unsigned short *)curbuf) = (
unsigned short)htons(size);
214 curbuf +=
sizeof(
unsigned short);
215 *((
short *)curbuf) = htons(ID);
216 curbuf +=
sizeof(
unsigned short);
222 for (current = Head; current; current = current->Next)
239 memcpy(curbuf, current->Data, ntohs(current->Size));
240 curbuf += ntohs(current->Size);
245 int pad = (4 - (ntohs(current->Size) & 3)) & 3;