* Jonathan McDowell <noodles@earth.li>
*
* Copyright 2002 Project Purple
+ *
+ * $Id: parsekey.c,v 1.9 2003/09/28 21:07:49 noodles Exp $
*/
#include <assert.h>
curpacket->packet->newformat = (curchar & 0x40);
- // TODO: Better error checking on getchar_func.
+ /*
+ * TODO: Better error checking on getchar_func.
+ */
if (curpacket->packet->newformat) {
curpacket->packet->tag = (curchar & 0x3F);
rc = getchar_func(ctx, 1, &curchar);
curpacket->packet->data =
malloc(curpacket->packet->length *
sizeof(unsigned char));
- rc = getchar_func(ctx,
- curpacket->packet->length,
- curpacket->packet->data);
+ if (curpacket->packet->data == NULL) {
+ logthing(LOGTHING_ERROR,
+ "Can't allocate memory for "
+ "packet!");
+ rc = -1;
+ } else {
+ rc = getchar_func(ctx,
+ curpacket->packet->length,
+ curpacket->packet->data);
+ }
}
inpacket = false;
} else {
}
}
- putchar_func(ctx, packets->packet->length, packets->packet->data);
-// for (i = 0; i < packets->packet->length; i++) {
-// putchar_func(ctx, packets->packet->data[i]);
-// }
+ putchar_func(ctx, packets->packet->length,
+ packets->packet->data);
packets = packets->next;
}
return 0;