Lines Matching refs:sub
231 * WPACKET_fill_lengths() to close a sub-packet and write out its length if
235 static int wpacket_intern_close(WPACKET *pkt, WPACKET_SUB *sub, int doclose)
237 size_t packlen = pkt->written - sub->pwritten;
240 && (sub->flags & WPACKET_FLAGS_NON_ZERO_LENGTH) != 0)
244 && sub->flags & WPACKET_FLAGS_ABANDON_ON_ZERO_LENGTH) {
250 if ((pkt->curr - sub->lenbytes) == sub->packet_len) {
251 pkt->written -= sub->lenbytes;
252 pkt->curr -= sub->lenbytes;
256 sub->packet_len = 0;
257 sub->lenbytes = 0;
261 if (sub->lenbytes > 0) {
265 && !put_value(&buf[sub->packet_len], packlen,
266 sub->lenbytes))
268 } else if (pkt->endfirst && sub->parent != NULL
270 || (sub->flags
287 pkt->subs = sub->parent;
288 OPENSSL_free(sub);
296 WPACKET_SUB *sub;
301 for (sub = pkt->subs; sub != NULL; sub = sub->parent) {
302 if (!wpacket_intern_close(pkt, sub, 0))
343 WPACKET_SUB *sub;
354 if ((sub = OPENSSL_zalloc(sizeof(*sub))) == NULL) {
359 sub->parent = pkt->subs;
360 pkt->subs = sub;
361 sub->pwritten = pkt->written + lenbytes;
362 sub->lenbytes = lenbytes;
365 sub->packet_len = 0;
369 sub->packet_len = pkt->written;
397 WPACKET_SUB *sub;
405 for (sub = pkt->subs; sub->parent != NULL; sub = sub->parent)
408 lenbytes = sub->lenbytes;
505 WPACKET_SUB *sub, *parent;
507 for (sub = pkt->subs; sub != NULL; sub = parent) {
508 parent = sub->parent;
509 OPENSSL_free(sub);