24 _nmsg_payload_free_all(Nmsg__Nmsg *nc) {
27 for (i = 0; i < nc->n_payloads; i++) {
28 nmsg__nmsg_payload__free_unpacked(nc->payloads[i], NULL);
29 nc->payloads[i] = NULL;
35 _nmsg_payload_calc_crcs(Nmsg__Nmsg *nc) {
38 if (nc->payload_crcs != NULL)
39 free(nc->payload_crcs);
41 nc->payload_crcs = malloc(nc->n_payloads *
sizeof(*(nc->payload_crcs)));
42 assert(nc->payload_crcs != NULL);
44 for (i = 0; i < nc->n_payloads; i++)
45 nc->payload_crcs[i] = htonl(my_crc32c(nc->payloads[i]->payload.data,
46 nc->payloads[i]->payload.len));
48 nc->n_payload_crcs = nc->n_payloads;
52 _nmsg_payload_free(Nmsg__NmsgPayload **np) {
53 nmsg__nmsg_payload__free_unpacked(*np, NULL);
58 _nmsg_payload_size(
const Nmsg__NmsgPayload *np) {
60 Nmsg__NmsgPayload copy;
64 copy.payload.data = NULL;
65 sz = nmsg__nmsg_payload__get_packed_size(©);
67 sz += np->payload.len;
70 if (np->payload.len >= (1 << 7))
72 if (np->payload.len >= (1 << 14))